From: Victor Stinner Date: Fri, 9 Jun 2023 08:30:57 +0000 (+0200) Subject: gh-105396: Deprecate PyImport_ImportModuleNoBlock() function (#105397) X-Git-Tag: v3.13.0a1~1824 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3e525d22128cf040b3fd164f52cc6ae20ca58455;p=thirdparty%2FPython%2Fcpython.git gh-105396: Deprecate PyImport_ImportModuleNoBlock() function (#105397) Deprecate the PyImport_ImportModuleNoBlock() function which is just an alias to PyImport_ImportModule() since Python 3.3. --- diff --git a/Doc/c-api/import.rst b/Doc/c-api/import.rst index 79843ba521ab..6db20237f3fd 100644 --- a/Doc/c-api/import.rst +++ b/Doc/c-api/import.rst @@ -38,6 +38,9 @@ Importing Modules to per-module locks for most purposes, so this function's special behaviour isn't needed anymore. + .. deprecated-removed:: 3.13 3.15 + Use :c:func:`PyImport_ImportModule` instead. + .. c:function:: PyObject* PyImport_ImportModuleEx(const char *name, PyObject *globals, PyObject *locals, PyObject *fromlist) diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 502cafdaf5e1..4849ed72020c 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -407,6 +407,11 @@ Deprecated (Contributed by Victor Stinner in :gh:`105145`.) +* Deprecate the :c:func:`PyImport_ImportModuleNoBlock` function which is just + an alias to :c:func:`PyImport_ImportModule` since Python 3.3. + Scheduled for removal in Python 3.15. + (Contributed by Victor Stinner in :gh:`105396`.) + Removed ------- diff --git a/Include/import.h b/Include/import.h index 5d5f3425b8e7..6c63744edb06 100644 --- a/Include/import.h +++ b/Include/import.h @@ -46,7 +46,7 @@ PyAPI_FUNC(PyObject *) PyImport_AddModule( PyAPI_FUNC(PyObject *) PyImport_ImportModule( const char *name /* UTF-8 encoded string */ ); -PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock( +Py_DEPRECATED(3.13) PyAPI_FUNC(PyObject *) PyImport_ImportModuleNoBlock( const char *name /* UTF-8 encoded string */ ); PyAPI_FUNC(PyObject *) PyImport_ImportModuleLevel( diff --git a/Misc/NEWS.d/next/C API/2023-06-06-17-43-28.gh-issue-105396.FQJG5B.rst b/Misc/NEWS.d/next/C API/2023-06-06-17-43-28.gh-issue-105396.FQJG5B.rst new file mode 100644 index 000000000000..cf82f6202df1 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2023-06-06-17-43-28.gh-issue-105396.FQJG5B.rst @@ -0,0 +1,3 @@ +Deprecate the :c:func:`PyImport_ImportModuleNoBlock` function which is just +an alias to :c:func:`PyImport_ImportModule` since Python 3.3. Patch by +Victor Stinner. diff --git a/Python/import.c b/Python/import.c index 7f04b1aa609f..71cce8e4f623 100644 --- a/Python/import.c +++ b/Python/import.c @@ -2439,6 +2439,12 @@ PyImport_ImportModule(const char *name) PyObject * PyImport_ImportModuleNoBlock(const char *name) { + if (PyErr_WarnEx(PyExc_DeprecationWarning, + "PyImport_ImportModuleNoBlock() is deprecated and scheduled for " + "removal in Python 3.15. Use PyImport_ImportModule() instead.", 1)) + { + return NULL; + } return PyImport_ImportModule(name); }