From 42f7c2dfba58a8a8f31aba727d0fc51dd3ce2fce Mon Sep 17 00:00:00 2001 From: Yashraj Date: Mon, 12 Jan 2026 18:29:59 +0530 Subject: [PATCH] gh-141004: Document PyUnicode_IS_COMPACT and PyUnicode_IS_COMPACT_ASCII macros (GH-143494) --- Doc/c-api/unicode.rst | 21 +++++++++++++++++++++ Tools/check-c-api-docs/ignored_c_api.txt | 5 +---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index ca7c8bb11a5..d2b6643c700 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -65,6 +65,27 @@ Python: .. versionadded:: 3.3 + The structure of a particular object can be determined using the following + macros. + The macros cannot fail; their behavior is undefined if their argument + is not a Python Unicode object. + + .. c:namespace:: NULL + + .. c:macro:: PyUnicode_IS_COMPACT(o) + + True if *o* uses the :c:struct:`PyCompactUnicodeObject` structure. + + .. versionadded:: 3.3 + + + .. c:macro:: PyUnicode_IS_COMPACT_ASCII(o) + + True if *o* uses the :c:struct:`PyASCIIObject` structure. + + .. versionadded:: 3.3 + + The following APIs are C macros and static inlined functions for fast checks and access to internal read-only data of Unicode objects: diff --git a/Tools/check-c-api-docs/ignored_c_api.txt b/Tools/check-c-api-docs/ignored_c_api.txt index 31c92055599..ebc0b5a8710 100644 --- a/Tools/check-c-api-docs/ignored_c_api.txt +++ b/Tools/check-c-api-docs/ignored_c_api.txt @@ -101,9 +101,6 @@ PyUnstable_EXECUTABLE_KIND_PY_FUNCTION PyUnstable_EXECUTABLE_KIND_SKIP # cpython/pylifecycle.h Py_FrozenMain -# cpython/unicodeobject.h -PyUnicode_IS_COMPACT -PyUnicode_IS_COMPACT_ASCII # pythonrun.h PyErr_Display # cpython/objimpl.h @@ -139,4 +136,4 @@ PY_MONITORING_EVENT_BRANCH PY_DEF_EVENT PY_FOREACH_DICT_EVENT # cpython/pystats.h -PYSTATS_MAX_UOP_ID +PYSTATS_MAX_UOP_ID \ No newline at end of file