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.
This commit is contained in:
Victor Stinner 2021-10-15 13:06:05 +02:00 committed by GitHub
parent 063abd931f
commit 105582e74c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 26 additions and 47 deletions

View File

@ -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[])
{

View File

@ -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.

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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 *);

View File

@ -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 */

View File

@ -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 \

View File

@ -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.

View File

@ -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" />

View File

@ -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>