summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/c-api/import.rst3
-rw-r--r--Doc/whatsnew/3.13.rst5
-rw-r--r--Include/import.h2
-rw-r--r--Misc/NEWS.d/next/C API/2023-06-06-17-43-28.gh-issue-105396.FQJG5B.rst3
-rw-r--r--Python/import.c6
5 files changed, 18 insertions, 1 deletions
diff --git a/Doc/c-api/import.rst b/Doc/c-api/import.rst
index 79843ba..6db2023 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 502cafd..4849ed7 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 5d5f342..6c63744 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 0000000..cf82f62
--- /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 7f04b1a..71cce8e 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);
}