summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2021-10-15 11:06:05 (GMT)
committerGitHub <noreply@github.com>2021-10-15 11:06:05 (GMT)
commit105582e74c1817bc6a9d99bcb6540b34a3367292 (patch)
tree2657be191e1aabb028cbcfda2fa66b9cc72fdeac
parent063abd931f064a4b6b478b0b6e9aa13ee38d2cff (diff)
downloadcpython-105582e74c1817bc6a9d99bcb6540b34a3367292.zip
cpython-105582e74c1817bc6a9d99bcb6540b34a3367292.tar.gz
cpython-105582e74c1817bc6a9d99bcb6540b34a3367292.tar.bz2
bpo-45434: Remove Include/eval.h header file (GH-28973)
Move Include/eval.h content into Include/ceval.h and Include/cpython/ceval.h, and remove Include/eval.h.
-rw-r--r--Doc/faq/extending.rst3
-rw-r--r--Doc/faq/windows.rst2
-rw-r--r--Doc/whatsnew/3.11.rst10
-rw-r--r--Include/Python.h1
-rw-r--r--Include/ceval.h12
-rw-r--r--Include/cpython/ceval.h2
-rw-r--r--Include/eval.h27
-rw-r--r--Makefile.pre.in1
-rw-r--r--Misc/NEWS.d/next/C API/2021-10-15-00-11-51.bpo-35134.eX4zqy.rst11
-rw-r--r--PCbuild/pythoncore.vcxproj1
-rw-r--r--PCbuild/pythoncore.vcxproj.filters3
11 files changed, 26 insertions, 47 deletions
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index 3379e41..fd32b09 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -290,9 +290,6 @@ complete example using the GNU readline library (you may want to ignore
#define PY_SSIZE_T_CLEAN
#include <Python.h>
- #include <object.h>
- #include <compile.h>
- #include <eval.h>
int main (int argc, char* argv[])
{
diff --git a/Doc/faq/windows.rst b/Doc/faq/windows.rst
index 0153a4f..6b95819 100644
--- a/Doc/faq/windows.rst
+++ b/Doc/faq/windows.rst
@@ -212,7 +212,7 @@ Embedding the Python interpreter in a Windows app can be summarized as follows:
.. code-block:: c
- #include "python.h"
+ #include <Python.h>
...
Py_Initialize(); // Initialize Python.
initmyAppc(); // Initialize (import) the helper class.
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 2e95228..994fb84 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -573,11 +573,11 @@ Porting to Python 3.11
(Contributed by Victor Stinner in :issue:`45434`.)
* The non-limited API files ``cellobject.h``, ``classobject.h``, ``context.h``,
- ``funcobject.h``, ``genobject.h`` and ``longintrepr.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.
+ ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have been moved to
+ the ``Include/cpython`` directory. Moreover, the ``eval.h`` header file was
+ removed. 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 bc8d4f9..a2de514 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -96,7 +96,6 @@
#include "import.h"
#include "abstract.h"
#include "bltinmodule.h"
-#include "eval.h"
#include "cpython/pyctype.h"
#include "pystrtod.h"
#include "pystrcmp.h"
diff --git a/Include/ceval.h b/Include/ceval.h
index cf8c5b1..1b57f6e 100644
--- a/Include/ceval.h
+++ b/Include/ceval.h
@@ -1,3 +1,5 @@
+/* Interface to random parts in ceval.c */
+
#ifndef Py_CEVAL_H
#define Py_CEVAL_H
#ifdef __cplusplus
@@ -5,7 +7,15 @@ extern "C" {
#endif
-/* Interface to random parts in ceval.c */
+PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *);
+
+PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co,
+ PyObject *globals,
+ PyObject *locals,
+ PyObject *const *args, int argc,
+ PyObject *const *kwds, int kwdc,
+ PyObject *const *defs, int defc,
+ PyObject *kwdefs, PyObject *closure);
/* PyEval_CallObjectWithKeywords(), PyEval_CallObject(), PyEval_CallFunction
* and PyEval_CallMethod are deprecated. Since they are officially part of the
diff --git a/Include/cpython/ceval.h b/Include/cpython/ceval.h
index 44b78f6..caf6440 100644
--- a/Include/cpython/ceval.h
+++ b/Include/cpython/ceval.h
@@ -2,6 +2,8 @@
# error "this header file must not be included directly"
#endif
+PyAPI_FUNC(PyObject *) _PyEval_CallTracing(PyObject *func, PyObject *args);
+
PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *);
PyAPI_DATA(int) _PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg);
PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *);
diff --git a/Include/eval.h b/Include/eval.h
deleted file mode 100644
index eda28df..0000000
--- a/Include/eval.h
+++ /dev/null
@@ -1,27 +0,0 @@
-
-/* Interface to execute compiled code */
-
-#ifndef Py_EVAL_H
-#define Py_EVAL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyObject *, PyObject *, PyObject *);
-
-PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyObject *co,
- PyObject *globals,
- PyObject *locals,
- PyObject *const *args, int argc,
- PyObject *const *kwds, int kwdc,
- PyObject *const *defs, int defc,
- PyObject *kwdefs, PyObject *closure);
-
-#ifndef Py_LIMITED_API
-PyAPI_FUNC(PyObject *) _PyEval_CallTracing(PyObject *func, PyObject *args);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_EVAL_H */
diff --git a/Makefile.pre.in b/Makefile.pre.in
index ccce52b..b79b71f 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1137,7 +1137,6 @@ PYTHON_HEADERS= \
$(srcdir)/Include/dynamic_annotations.h \
$(srcdir)/Include/enumobject.h \
$(srcdir)/Include/errcode.h \
- $(srcdir)/Include/eval.h \
$(srcdir)/Include/fileobject.h \
$(srcdir)/Include/fileutils.h \
$(srcdir)/Include/floatobject.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 4ab1088..d0d3ce6 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,4 +1,7 @@
-Move ``cellobject.h``, ``classobject.h``, ``context.h``, ``funcobject.h``,
-``genobject.h`` and ``longintrepr.h`` header files from ``Include/`` to
-``Include/cpython/``. C extensions should only include the main ``<Python.h>``
-header. Patch by Victor Stinner.
+The non-limited API files ``cellobject.h``, ``classobject.h``, ``context.h``,
+``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have been moved to
+the ``Include/cpython`` directory. Moreover, the ``eval.h`` header file was
+removed. 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.
+Patch by Victor Stinner.
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
index 32511d2..357d0a7 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -166,7 +166,6 @@
<ClInclude Include="..\Include\dynamic_annotations.h" />
<ClInclude Include="..\Include\enumobject.h" />
<ClInclude Include="..\Include\errcode.h" />
- <ClInclude Include="..\Include\eval.h" />
<ClInclude Include="..\Include\fileobject.h" />
<ClInclude Include="..\Include\fileutils.h" />
<ClInclude Include="..\Include\floatobject.h" />
diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters
index 4cc1092..1a3ad88 100644
--- a/PCbuild/pythoncore.vcxproj.filters
+++ b/PCbuild/pythoncore.vcxproj.filters
@@ -84,9 +84,6 @@
<ClInclude Include="..\Include\errcode.h">
<Filter>Include</Filter>
</ClInclude>
- <ClInclude Include="..\Include\eval.h">
- <Filter>Include</Filter>
- </ClInclude>
<ClInclude Include="..\Include\fileobject.h">
<Filter>Include</Filter>
</ClInclude>