diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst index 1c2919a06c4..67e03f2f5ef 100644 --- a/Doc/whatsnew/3.10.rst +++ b/Doc/whatsnew/3.10.rst @@ -1740,6 +1740,12 @@ Removed Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner in :issue:`43244`.) +* Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers + and from ``python3.dll``, the library that provides the stable ABI on + Windows. Since the function takes a ``FILE*`` argument, its ABI stability + cannot be guaranteed. + (Contributed by Petr Viktorin in :issue:`43868`.) + * Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These functions were undocumented and excluded from the limited C API. Most names defined by these header files were not prefixed by ``Py`` and so diff --git a/Include/cpython/pythonrun.h b/Include/cpython/pythonrun.h index ffca0e457d5..2e72d0820d3 100644 --- a/Include/cpython/pythonrun.h +++ b/Include/cpython/pythonrun.h @@ -118,3 +118,4 @@ PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *fp, const char *p, int s, PyObject /* Stuff with no proper home (yet) */ PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, const char *); PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState; +PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); diff --git a/Include/pythonrun.h b/Include/pythonrun.h index b87bc738902..b0a2fc3002d 100644 --- a/Include/pythonrun.h +++ b/Include/pythonrun.h @@ -16,7 +16,6 @@ PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *); /* Stuff with no proper home (yet) */ PyAPI_DATA(int) (*PyOS_InputHook)(void); -PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *); /* Stack size, in "pointers" (so we get extra safety margins on 64-bit platforms). On a 32-bit platform, this translates diff --git a/Misc/NEWS.d/next/C API/2021-04-16-18-15-56.bpo-43868.twQ7KH.rst b/Misc/NEWS.d/next/C API/2021-04-16-18-15-56.bpo-43868.twQ7KH.rst new file mode 100644 index 00000000000..50888b8b37a --- /dev/null +++ b/Misc/NEWS.d/next/C API/2021-04-16-18-15-56.bpo-43868.twQ7KH.rst @@ -0,0 +1,3 @@ +:c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by limited C API +headers and by ``python3.dll`` on Windows. Like any function that takes +``FILE*``, it is not part of the stable ABI. diff --git a/PC/python3dll.c b/PC/python3dll.c index 195c6531fdf..e5a21ed7c02 100644 --- a/PC/python3dll.c +++ b/PC/python3dll.c @@ -808,7 +808,6 @@ EXPORT_DATA(PyODictIter_Type) EXPORT_DATA(PyODictKeys_Type) EXPORT_DATA(PyODictValues_Type) EXPORT_DATA(PyOS_InputHook) -EXPORT_DATA(PyOS_ReadlineFunctionPointer) EXPORT_DATA(PyProperty_Type) EXPORT_DATA(PyRange_Type) EXPORT_DATA(PyRangeIter_Type)