summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/utilities.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/c-api/utilities.rst')
-rw-r--r--Doc/c-api/utilities.rst20
1 files changed, 6 insertions, 14 deletions
diff --git a/Doc/c-api/utilities.rst b/Doc/c-api/utilities.rst
index c4c4b7e..c30a62a 100644
--- a/Doc/c-api/utilities.rst
+++ b/Doc/c-api/utilities.rst
@@ -197,19 +197,14 @@ Importing Modules
to find out. Starting with Python 2.4, a failing import of a module no longer
leaves the module in ``sys.modules``.
- .. index:: single: modules (in module sys)
-
.. cfunction:: PyObject* PyImport_ImportModuleNoBlock(const char *name)
- .. index::
- single: `cfunc:PyImport_ImportModule`
-
- This version of `cfunc:PyImport_ImportModule` does not block. It's intended
+ This version of :cfunc:`PyImport_ImportModule` does not block. It's intended
to be used in C function which import other modules to execute a function.
The import may block if another thread holds the import lock. The function
- `cfunc:PyImport_ImportModuleNoBlock` doesn't block. It first tries to fetch
- the module from sys.modules and falls back to `cfunc:PyImport_ImportModule`
+ :cfunc:`PyImport_ImportModuleNoBlock` doesn't block. It first tries to fetch
+ the module from sys.modules and falls back to :cfunc:`PyImport_ImportModule`
unless the the lock is hold. In the latter case the function raises an
ImportError.
@@ -231,9 +226,6 @@ Importing Modules
Failing imports remove incomplete module objects, like with
:cfunc:`PyImport_ImportModule`.
- The function is an alias for `cfunc:PyImport_ImportModuleLevel` with -1 as
- *level*, meaning relative import.
-
.. cfunction:: PyObject* PyImport_ImportModuleLevel(char *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level)
@@ -286,9 +278,9 @@ Importing Modules
:func:`compile`, load the module. Return a new reference to the module object,
or *NULL* with an exception set if an error occurred. Before Python 2.4, the
module could still be created in error cases. Starting with Python 2.4, *name*
- is removed from ``sys.modules`` in error cases, and even if *name* was already
- in ``sys.modules`` on entry to :cfunc:`PyImport_ExecCodeModule`. Leaving
- incompletely initialized modules in ``sys.modules`` is dangerous, as imports of
+ is removed from :attr:`sys.modules` in error cases, and even if *name* was already
+ in :attr:`sys.modules` on entry to :cfunc:`PyImport_ExecCodeModule`. Leaving
+ incompletely initialized modules in :attr:`sys.modules` is dangerous, as imports of
such modules have no way to know that the module object is an unknown (and
probably damaged with respect to the module author's intents) state.