[Python-checkins] bpo-35134: Move Include/cellobject.h to Include/cpython/ (GH-28964)

vstinner webhook-mailer at python.org
Thu Oct 14 20:40:09 EDT 2021


https://github.com/python/cpython/commit/77b24ba505744532d7cfd721b1c92d205e145180
commit: 77b24ba505744532d7cfd721b1c92d205e145180
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2021-10-15T02:39:58+02:00
summary:

bpo-35134: Move Include/cellobject.h to Include/cpython/ (GH-28964)

files:
A Include/cpython/cellobject.h
D Include/cellobject.h
M Doc/whatsnew/3.11.rst
M Include/Python.h
M Makefile.pre.in
M Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst
M PCbuild/pythoncore.vcxproj
M PCbuild/pythoncore.vcxproj.filters

diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index a45568392fbf9..734cf1572fcba 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -572,10 +572,11 @@ Porting to Python 3.11
   header provides functions like ``printf()`` and ``fopen()``.
   (Contributed by Victor Stinner in :issue:`45434`.)
 
-* The non-limited API file ``funcobject.h`` has been moved to the
-  ``Include/cpython`` directory. This file must not be included directly, as it
-  is already included in ``Python.h``: :ref:`Include Files <api-includes>`. If
-  it has been included directly, consider including ``Python.h`` instead.
+* The non-limited API files ``cellobject.h`` and ``funcobject.h`` have been
+  moved to the ``Include/cpython`` directory. These files must not be included
+  directly, as they are already included in ``Python.h``: :ref:`Include Files
+  <api-includes>`. If they have been included directly, consider including
+  ``Python.h`` instead.
   (Contributed by Victor Stinner in :issue:`35134`.)
 
 Deprecated
diff --git a/Include/Python.h b/Include/Python.h
index e8e061bdf62e8..89f60fe5c9f94 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -68,7 +68,7 @@
 #include "pyframe.h"
 #include "traceback.h"
 #include "sliceobject.h"
-#include "cellobject.h"
+#include "cpython/cellobject.h"
 #include "iterobject.h"
 #include "genobject.h"
 #include "descrobject.h"
diff --git a/Include/cellobject.h b/Include/cpython/cellobject.h
similarity index 89%
rename from Include/cellobject.h
rename to Include/cpython/cellobject.h
index 81bc784d36f3e..8dc7b8f4cf6f8 100644
--- a/Include/cellobject.h
+++ b/Include/cpython/cellobject.h
@@ -1,4 +1,5 @@
 /* Cell object interface */
+
 #ifndef Py_LIMITED_API
 #ifndef Py_CELLOBJECT_H
 #define Py_CELLOBJECT_H
@@ -8,7 +9,8 @@ extern "C" {
 
 typedef struct {
     PyObject_HEAD
-    PyObject *ob_ref;       /* Content of the cell or NULL when empty */
+    /* Content of the cell or NULL when empty */
+    PyObject *ob_ref;
 } PyCellObject;
 
 PyAPI_DATA(PyTypeObject) PyCell_Type;
diff --git a/Makefile.pre.in b/Makefile.pre.in
index a5585c8de8ad0..32bbab068f702 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1127,7 +1127,6 @@ PYTHON_HEADERS= \
 		$(srcdir)/Include/boolobject.h \
 		$(srcdir)/Include/bytearrayobject.h \
 		$(srcdir)/Include/bytesobject.h \
-		$(srcdir)/Include/cellobject.h \
 		$(srcdir)/Include/ceval.h \
 		$(srcdir)/Include/classobject.h \
 		$(srcdir)/Include/code.h \
@@ -1201,6 +1200,7 @@ PYTHON_HEADERS= \
 		$(srcdir)/Include/cpython/abstract.h \
 		$(srcdir)/Include/cpython/bytearrayobject.h \
 		$(srcdir)/Include/cpython/bytesobject.h \
+		$(srcdir)/Include/cpython/cellobject.h \
 		$(srcdir)/Include/cpython/ceval.h \
 		$(srcdir)/Include/cpython/code.h \
 		$(srcdir)/Include/cpython/compile.h \
diff --git a/Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst b/Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst
index fc12e02b0c580..800f6e7f92741 100644
--- a/Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst	
+++ b/Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst	
@@ -1,3 +1,3 @@
-Move Include/funcobject.h header file to Include/cpython/funcobject.h.
-C extensions should only include the main ``<Python.h>`` header.
-Patch by Victor Stinner.
+Move ``cellobject.h`` and ``funcobject.h`` header files from ``Include/`` to
+``Include/cpython/``. C extensions should only include the main ``<Python.h>``
+header. Patch by Victor Stinner.
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
index dc216e34855df..877064e877deb 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -115,7 +115,6 @@
     <ClInclude Include="..\Include\boolobject.h" />
     <ClInclude Include="..\Include\bytearrayobject.h" />
     <ClInclude Include="..\Include\bytesobject.h" />
-    <ClInclude Include="..\Include\cellobject.h" />
     <ClInclude Include="..\Include\ceval.h" />
     <ClInclude Include="..\Include\classobject.h" />
     <ClInclude Include="..\Include\code.h" />
@@ -126,6 +125,7 @@
     <ClInclude Include="..\Include\cpython\abstract.h" />
     <ClInclude Include="..\Include\cpython\bytearrayobject.h" />
     <ClInclude Include="..\Include\cpython\bytesobject.h" />
+    <ClInclude Include="..\Include\cpython\cellobject.h" />
     <ClInclude Include="..\Include\cpython\ceval.h" />
     <ClInclude Include="..\Include\cpython\code.h" />
     <ClInclude Include="..\Include\cpython\compile.h" />
diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters
index 8eeb38871f327..b8841c90cc1b9 100644
--- a/PCbuild/pythoncore.vcxproj.filters
+++ b/PCbuild/pythoncore.vcxproj.filters
@@ -51,9 +51,6 @@
     <ClInclude Include="..\Include\bytesobject.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\Include\cellobject.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\Include\ceval.h">
       <Filter>Include</Filter>
     </ClInclude>
@@ -372,6 +369,9 @@
     <ClInclude Include="..\Include\cpython\bytesobject.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>
+    <ClInclude Include="..\Include\cpython\cellobject.h">
+      <Filter>Include\cpython</Filter>
+    </ClInclude>
     <ClInclude Include="..\Include\cpython\ceval.h">
       <Filter>Include\cpython</Filter>
     </ClInclude>



More information about the Python-checkins mailing list