[Python-checkins] bpo-43916: Move the _PyStructSequence_InitType function to the internal API (GH-25854)

pablogsal webhook-mailer at python.org
Mon May 3 10:50:31 EDT 2021


https://github.com/python/cpython/commit/c2931d31f8ba7cf10044de276018c713ffc73592
commit: c2931d31f8ba7cf10044de276018c713ffc73592
branch: master
author: Pablo Galindo <Pablogsal at gmail.com>
committer: pablogsal <Pablogsal at gmail.com>
date: 2021-05-03T15:50:24+01:00
summary:

bpo-43916: Move the _PyStructSequence_InitType function to the internal API (GH-25854)

files:
A Include/internal/pycore_structseq.h
M Doc/data/stable_abi.dat
M Include/structseq.h
M Makefile.pre.in
M Misc/stable_abi.txt
M Modules/_cursesmodule.c
M Objects/structseq.c
M PC/python3dll.c
M PCbuild/pythoncore.vcxproj
M Python/sysmodule.c

diff --git a/Doc/data/stable_abi.dat b/Doc/data/stable_abi.dat
index b21374a05cb6a5..833228f7fd755d 100644
--- a/Doc/data/stable_abi.dat
+++ b/Doc/data/stable_abi.dat
@@ -918,7 +918,6 @@ Py_tp_setattro
 Py_tp_str
 Py_tp_traverse
 Py_uintptr_t
-_PyStructSequence_InitType
 _frame
 _node
 allocfunc
diff --git a/Include/internal/pycore_structseq.h b/Include/internal/pycore_structseq.h
new file mode 100644
index 00000000000000..84c8d477e0dac8
--- /dev/null
+++ b/Include/internal/pycore_structseq.h
@@ -0,0 +1,21 @@
+#ifndef Py_INTERNAL_STRUCTSEQ_H
+#define Py_INTERNAL_STRUCTSEQ_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef Py_BUILD_CORE
+#  error "this header requires Py_BUILD_CORE define"
+#endif
+
+
+PyAPI_FUNC(int) _PyStructSequence_InitType(
+    PyTypeObject *type,
+    PyStructSequence_Desc *desc,
+    unsigned long tp_flags);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_INTERNAL_STRUCTSEQ_H */
diff --git a/Include/structseq.h b/Include/structseq.h
index 890e03130b4edb..8f51c89163a4e1 100644
--- a/Include/structseq.h
+++ b/Include/structseq.h
@@ -27,10 +27,6 @@ PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
 PyAPI_FUNC(int) PyStructSequence_InitType2(PyTypeObject *type,
                                            PyStructSequence_Desc *desc);
 #endif
-PyAPI_FUNC(int) _PyStructSequence_InitType(
-    PyTypeObject *type,
-    PyStructSequence_Desc *desc,
-    unsigned long tp_flags);
 PyAPI_FUNC(PyTypeObject*) PyStructSequence_NewType(PyStructSequence_Desc *desc);
 
 PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 0836655e15adb4..92cc48657a2af0 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1171,6 +1171,7 @@ PYTHON_HEADERS= \
 		$(srcdir)/Include/internal/pycore_pymem.h \
 		$(srcdir)/Include/internal/pycore_pystate.h \
 		$(srcdir)/Include/internal/pycore_runtime.h \
+		$(srcdir)/Include/internal/pycore_structseq.h \
 		$(srcdir)/Include/internal/pycore_symtable.h \
 		$(srcdir)/Include/internal/pycore_sysmodule.h \
 		$(srcdir)/Include/internal/pycore_traceback.h \
diff --git a/Misc/stable_abi.txt b/Misc/stable_abi.txt
index d79746e0a4ec04..2a802bd5f4b831 100644
--- a/Misc/stable_abi.txt
+++ b/Misc/stable_abi.txt
@@ -2121,8 +2121,6 @@ function PyObject_GetAiter
     added 3.10
 data PyExc_EncodingWarning
     added 3.10
-function _PyStructSequence_InitType
-    added 3.10
 
 # Support for Stable ABI in debug builds
 
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index bcf9ad19386b25..b6b7ca458b454a 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -104,7 +104,7 @@ static const char PyCursesVersion[] = "2.2";
 
 #include "Python.h"
 #include "pycore_long.h"          // _PyLong_GetZero()
-
+#include "pycore_structseq.h"     // PyStructSequence_InitType()
 
 #ifdef __hpux
 #define STRICT_SYSV_CURSES
diff --git a/Objects/structseq.c b/Objects/structseq.c
index bf59f47fcf073b..73795b677b404f 100644
--- a/Objects/structseq.c
+++ b/Objects/structseq.c
@@ -11,6 +11,7 @@
 #include "pycore_tuple.h"         // _PyTuple_FromArray()
 #include "pycore_object.h"        // _PyObject_GC_TRACK()
 #include "structmember.h"         // PyMemberDef
+#include "pycore_structseq.h"     // PyStructSequence_InitType()
 
 static const char visible_length_key[] = "n_sequence_fields";
 static const char real_length_key[] = "n_fields";
diff --git a/PC/python3dll.c b/PC/python3dll.c
index 30868c1864622e..574d4dcad9f75b 100755
--- a/PC/python3dll.c
+++ b/PC/python3dll.c
@@ -35,7 +35,6 @@ EXPORT_FUNC(_PyObject_GC_Resize)
 EXPORT_FUNC(_PyObject_New)
 EXPORT_FUNC(_PyObject_NewVar)
 EXPORT_FUNC(_PyState_AddModule)
-EXPORT_FUNC(_PyStructSequence_InitType)
 EXPORT_FUNC(_PyThreadState_Init)
 EXPORT_FUNC(_PyThreadState_Prealloc)
 EXPORT_FUNC(_PyTrash_deposit_object)
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
index 429d437c5ebc20..0382977d6c367a 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -209,6 +209,7 @@
     <ClInclude Include="..\Include\internal\pycore_pymem.h" />
     <ClInclude Include="..\Include\internal\pycore_pystate.h" />
     <ClInclude Include="..\Include\internal\pycore_runtime.h" />
+    <ClInclude Include="..\Include\internal\pycore_structseq.h" />
     <ClInclude Include="..\Include\internal\pycore_sysmodule.h" />
     <ClInclude Include="..\Include\internal\pycore_symtable.h" />
     <ClInclude Include="..\Include\internal\pycore_traceback.h" />
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 2190bbf37fdae1..ac49f7867a5cb3 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -24,6 +24,7 @@ Data members:
 #include "pycore_pymem.h"         // _PyMem_SetDefaultAllocator()
 #include "pycore_pystate.h"       // _PyThreadState_GET()
 #include "pycore_tuple.h"         // _PyTuple_FromArray()
+#include "pycore_structseq.h"     // PyStructSequence_InitType()
 
 #include "code.h"
 #include "frameobject.h"          // PyFrame_GetBack()



More information about the Python-checkins mailing list