mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
gh-141004: Document PyImport_Inittab (GH-141844)
Co-authored-by: Stan Ulbrych <stan@ulbrych.org> Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
71126ab19c
commit
5f35702bb6
4 changed files with 11 additions and 4 deletions
|
|
@ -314,6 +314,13 @@ Importing Modules
|
||||||
initialization.
|
initialization.
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: struct _inittab *PyImport_Inittab
|
||||||
|
|
||||||
|
The table of built-in modules used by Python initialization. Do not use this directly;
|
||||||
|
use :c:func:`PyImport_AppendInittab` and :c:func:`PyImport_ExtendInittab`
|
||||||
|
instead.
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: PyObject* PyImport_ImportModuleAttr(PyObject *mod_name, PyObject *attr_name)
|
.. c:function:: PyObject* PyImport_ImportModuleAttr(PyObject *mod_name, PyObject *attr_name)
|
||||||
|
|
||||||
Import the module *mod_name* and get its attribute *attr_name*.
|
Import the module *mod_name* and get its attribute *attr_name*.
|
||||||
|
|
|
||||||
|
|
@ -426,7 +426,7 @@ A pointer to the module definition must be returned via :c:func:`PyModuleDef_Ini
|
||||||
so that the import machinery can create the module and store it in ``sys.modules``.
|
so that the import machinery can create the module and store it in ``sys.modules``.
|
||||||
|
|
||||||
When embedding Python, the :c:func:`!PyInit_spam` function is not called
|
When embedding Python, the :c:func:`!PyInit_spam` function is not called
|
||||||
automatically unless there's an entry in the :c:data:`!PyImport_Inittab` table.
|
automatically unless there's an entry in the :c:data:`PyImport_Inittab` table.
|
||||||
To add the module to the initialization table, use :c:func:`PyImport_AppendInittab`,
|
To add the module to the initialization table, use :c:func:`PyImport_AppendInittab`,
|
||||||
optionally followed by an import of the module::
|
optionally followed by an import of the module::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4931,7 +4931,7 @@ Patch by Gabriele N. Tornetta
|
||||||
.. nonce: 3p14JB
|
.. nonce: 3p14JB
|
||||||
.. section: C API
|
.. section: C API
|
||||||
|
|
||||||
:c:func:`Py_RunMain` now resets :c:data:`!PyImport_Inittab` to its initial
|
:c:func:`Py_RunMain` now resets :c:data:`PyImport_Inittab` to its initial
|
||||||
value at exit. It must be possible to call :c:func:`PyImport_AppendInittab`
|
value at exit. It must be possible to call :c:func:`PyImport_AppendInittab`
|
||||||
or :c:func:`PyImport_ExtendInittab` at each Python initialization. Patch by
|
or :c:func:`PyImport_ExtendInittab` at each Python initialization. Patch by
|
||||||
Victor Stinner.
|
Victor Stinner.
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,11 @@ Update bundled libexpat to 2.5.0
|
||||||
.. nonce: ik4iOv
|
.. nonce: ik4iOv
|
||||||
.. section: Core and Builtins
|
.. section: Core and Builtins
|
||||||
|
|
||||||
The docs clearly say that ``PyImport_Inittab``,
|
The docs clearly say that :c:data:`PyImport_Inittab`,
|
||||||
:c:func:`PyImport_AppendInittab`, and :c:func:`PyImport_ExtendInittab`
|
:c:func:`PyImport_AppendInittab`, and :c:func:`PyImport_ExtendInittab`
|
||||||
should not be used after :c:func:`Py_Initialize` has been called. We now
|
should not be used after :c:func:`Py_Initialize` has been called. We now
|
||||||
enforce this for the two functions. Additionally, the runtime now uses an
|
enforce this for the two functions. Additionally, the runtime now uses an
|
||||||
internal copy of ``PyImport_Inittab``, to guard against modification.
|
internal copy of :c:data:`PyImport_Inittab`, to guard against modification.
|
||||||
|
|
||||||
..
|
..
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue