From 0eb59b3c62e9b1c2776ac387943eff0bb09d4271 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 01:18:25 +0500 Subject: [PATCH 1/6] Add comemnt for Py_TPFLAGS_PREHEADER --- Include/object.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Include/object.h b/Include/object.h index c75e9db0cbd935..e2ac5300b431dc 100644 --- a/Include/object.h +++ b/Include/object.h @@ -534,6 +534,9 @@ given type object has a specified feature. */ #define Py_TPFLAGS_MANAGED_DICT (1 << 4) +/* Type has dictionary or weakref pointers that are managed by VM and has + * to allocate space to store these. + */ #define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT) /* Set if instances of the type object are treated as sequences for pattern matching */ From 3195c3333907c3d1f0031f255558d7938f925192 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 13:06:33 +0500 Subject: [PATCH 2/6] Add Py_TPFLAGS_PREHEADER to typeobj.rst --- Doc/c-api/typeobj.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index af2bead3bb5004..fe5b1c4c02e2f5 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -1287,6 +1287,15 @@ and :c:data:`PyType_Type` effectively act as defaults.) :c:member:`~PyTypeObject.tp_weaklistoffset` field is set in a superclass. + .. c:macro:: Py_TPFLAGS_PREHEADER + + This is a shorthand for checking is :c:macro:`Py_TPFLAGS_MANAGED_DICT` or + :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` present. Supposed only for internal + usage. + + .. versionadded:: 3.12 + + .. c:macro:: Py_TPFLAGS_ITEMS_AT_END Only usable with variable-size types, i.e. ones with non-zero From 6b37dcf8d0a34f48edcad1c2bfcd014d46939823 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 13:08:25 +0500 Subject: [PATCH 3/6] Add news --- .../2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst new file mode 100644 index 00000000000000..7fe309691c410e --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst @@ -0,0 +1 @@ +Add documnetation for :c:macro:`Py_TPFLAGS_MANAGED_Py_TPFLAGS_PREHEADER` From fc7fb8553d21c6f8eed487e4cae001f900fd3031 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Tue, 24 Jun 2025 13:50:14 +0500 Subject: [PATCH 4/6] Fix news entry --- .../2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst index 7fe309691c410e..34a559dd801bcf 100644 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst +++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst @@ -1 +1 @@ -Add documnetation for :c:macro:`Py_TPFLAGS_MANAGED_Py_TPFLAGS_PREHEADER` +Add documnetation for :c:macro:`Py_TPFLAGS_PREHEADER` From 2062b3d3461a01e170f4b4f1356a545e4a5c3fce Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Mon, 7 Jul 2025 16:58:17 +0500 Subject: [PATCH 5/6] Update Doc/c-api/typeobj.rst Co-authored-by: Petr Viktorin --- Doc/c-api/typeobj.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index fe5b1c4c02e2f5..a832ca397e3187 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -1289,9 +1289,12 @@ and :c:data:`PyType_Type` effectively act as defaults.) .. c:macro:: Py_TPFLAGS_PREHEADER - This is a shorthand for checking is :c:macro:`Py_TPFLAGS_MANAGED_DICT` or - :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` present. Supposed only for internal - usage. + A shorthand for checking if VM-managed fields are present. + Currently, this macro is equivalent to + :c:expr:`Py_TPFLAGS_MANAGED_DICT | Py_TPFLAGS_MANAGED_WEAKREF`. + + This macro is intended for internal usage only; prefer using individual + flags instead. .. versionadded:: 3.12 From fd1f31144103bb2a769d60f59b2a6d8cf91b5630 Mon Sep 17 00:00:00 2001 From: Sergey Miryanov Date: Mon, 7 Jul 2025 18:22:35 +0500 Subject: [PATCH 6/6] Delete news entry --- .../2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst deleted file mode 100644 index 34a559dd801bcf..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst +++ /dev/null @@ -1 +0,0 @@ -Add documnetation for :c:macro:`Py_TPFLAGS_PREHEADER` pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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