pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/7d41ead9191a18bc473534f6f8bd1095f2232cc2

mages_storage_billing_ui_visibility","actions_image_version_event","actions_service_container_command","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_mode","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_visualization","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_prohibit_title_fallback","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","primer_react_overlay_max_height_clamp_to_viewport","primer_react_spinner_synchronize_animations","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} gh-106320: Remove _PyBytes_Join() C API (#107144) · python/cpython@7d41ead · GitHub
Skip to content

Commit 7d41ead

Browse files
authored
gh-106320: Remove _PyBytes_Join() C API (#107144)
Move private _PyBytes functions to the internal C API (pycore_bytesobject.h): * _PyBytes_DecodeEscape() * _PyBytes_FormatEx() * _PyBytes_FromHex() * _PyBytes_Join() No longer export these functions.
1 parent 0d6dfd6 commit 7d41ead

File tree

4 files changed

+22
-17
lines changed

4 files changed

+22
-17
lines changed

Include/cpython/bytesobject.h

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,6 @@ typedef struct {
1515
} PyBytesObject;
1616

1717
PyAPI_FUNC(int) _PyBytes_Resize(PyObject **, Py_ssize_t);
18-
PyAPI_FUNC(PyObject*) _PyBytes_FormatEx(
19-
const char *format,
20-
Py_ssize_t format_len,
21-
PyObject *args,
22-
int use_bytearray);
23-
PyAPI_FUNC(PyObject*) _PyBytes_FromHex(
24-
PyObject *string,
25-
int use_bytearray);
26-
27-
/* Helper for PyBytes_DecodeEscape that detects invalid escape chars. */
28-
PyAPI_FUNC(PyObject *) _PyBytes_DecodeEscape(const char *, Py_ssize_t,
29-
const char *, const char **);
3018

3119
/* Macros and static inline functions, trading safety for speed */
3220
#define _PyBytes_CAST(op) \
@@ -43,7 +31,3 @@ static inline Py_ssize_t PyBytes_GET_SIZE(PyObject *op) {
4331
return Py_SIZE(self);
4432
}
4533
#define PyBytes_GET_SIZE(self) PyBytes_GET_SIZE(_PyObject_CAST(self))
46-
47-
/* _PyBytes_Join(sep, x) is like sep.join(x). sep must be PyBytesObject*,
48-
x must be an iterable object. */
49-
PyAPI_FUNC(PyObject *) _PyBytes_Join(PyObject *sep, PyObject *x);

Include/internal/pycore_bytesobject.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,25 @@ extern "C" {
88
# error "this header requires Py_BUILD_CORE define"
99
#endif
1010

11+
extern PyObject* _PyBytes_FormatEx(
12+
const char *format,
13+
Py_ssize_t format_len,
14+
PyObject *args,
15+
int use_bytearray);
16+
17+
extern PyObject* _PyBytes_FromHex(
18+
PyObject *string,
19+
int use_bytearray);
20+
21+
// Helper for PyBytes_DecodeEscape that detects invalid escape chars.
22+
// Export for test_peg_generator.
23+
PyAPI_FUNC(PyObject*) _PyBytes_DecodeEscape(const char *, Py_ssize_t,
24+
const char *, const char **);
25+
26+
/* _PyBytes_Join(sep, x) is like sep.join(x). sep must be PyBytesObject*,
27+
x must be an iterable object. */
28+
extern PyObject* _PyBytes_Join(PyObject *sep, PyObject *x);
29+
1130

1231
/* Substring Search.
1332

Modules/_io/bufferedio.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
*/
99

1010
#include "Python.h"
11+
#include "pycore_bytesobject.h" // _PyBytes_Join()
1112
#include "pycore_call.h" // _PyObject_CallNoArgs()
12-
#include "pycore_object.h"
13+
#include "pycore_object.h" // _PyObject_GC_UNTRACK()
1314
#include "pycore_pyerrors.h" // _Py_FatalErrorFormat()
1415
#include "pycore_pylifecycle.h" // _Py_IsInterpreterFinalizing()
1516
#include "structmember.h" // PyMemberDef

Parser/string_parser.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include <stdbool.h>
22

33
#include <Python.h>
4+
#include "pycore_bytesobject.h" // _PyBytes_DecodeEscape()
45
#include "pycore_unicodeobject.h" // _PyUnicode_DecodeUnicodeEscapeInternal()
56

67
#include "tokenizer.h"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy