[3.11] gh-107091: Fix some uses of :c:member: role (GH-107129) (GH-107311)

(cherry picked from commit af61cb9c78)
This commit is contained in:
Serhiy Storchaka 2023-07-26 22:35:16 +03:00 committed by GitHub
parent bd0def00b3
commit cfa9f3b7cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 13 additions and 11 deletions

View file

@ -138,7 +138,7 @@ Importing Modules
:class:`SourceFileLoader` otherwise. :class:`SourceFileLoader` otherwise.
The module's :attr:`__file__` attribute will be set to the code object's The module's :attr:`__file__` attribute will be set to the code object's
:c:member:`co_filename`. If applicable, :attr:`__cached__` will also :attr:`co_filename`. If applicable, :attr:`__cached__` will also
be set. be set.
This function will reload the module if it was already imported. See This function will reload the module if it was already imported. See

View file

@ -522,7 +522,7 @@ PyConfig
Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv`
is used, this method must be called before other methods, since the is used, this method must be called before other methods, since the
preinitialization configuration depends on command line arguments (if preinitialization configuration depends on command line arguments (if
:c:member:`parse_argv` is non-zero). :c:member:`~PyConfig.parse_argv` is non-zero).
The caller of these methods is responsible to handle exceptions (error or The caller of these methods is responsible to handle exceptions (error or
exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``. exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``.

View file

@ -164,7 +164,7 @@ or request "multi-phase initialization" by returning the definition struct itsel
This memory area is allocated based on *m_size* on module creation, This memory area is allocated based on *m_size* on module creation,
and freed when the module object is deallocated, after the and freed when the module object is deallocated, after the
:c:member:`m_free` function has been called, if present. :c:member:`~PyModuleDef.m_free` function has been called, if present.
Setting ``m_size`` to ``-1`` means that the module does not support Setting ``m_size`` to ``-1`` means that the module does not support
sub-interpreters, because it has global state. sub-interpreters, because it has global state.
@ -202,7 +202,7 @@ or request "multi-phase initialization" by returning the definition struct itsel
This function is not called if the module state was requested but is not This function is not called if the module state was requested but is not
allocated yet. This is the case immediately after the module is created allocated yet. This is the case immediately after the module is created
and before the module is executed (:c:data:`Py_mod_exec` function). More and before the module is executed (:c:data:`Py_mod_exec` function). More
precisely, this function is not called if :c:member:`m_size` is greater precisely, this function is not called if :c:member:`~PyModuleDef.m_size` is greater
than 0 and the module state (as returned by :c:func:`PyModule_GetState`) than 0 and the module state (as returned by :c:func:`PyModule_GetState`)
is ``NULL``. is ``NULL``.
@ -217,7 +217,7 @@ or request "multi-phase initialization" by returning the definition struct itsel
This function is not called if the module state was requested but is not This function is not called if the module state was requested but is not
allocated yet. This is the case immediately after the module is created allocated yet. This is the case immediately after the module is created
and before the module is executed (:c:data:`Py_mod_exec` function). More and before the module is executed (:c:data:`Py_mod_exec` function). More
precisely, this function is not called if :c:member:`m_size` is greater precisely, this function is not called if :c:member:`~PyModuleDef.m_size` is greater
than 0 and the module state (as returned by :c:func:`PyModule_GetState`) than 0 and the module state (as returned by :c:func:`PyModule_GetState`)
is ``NULL``. is ``NULL``.
@ -238,7 +238,7 @@ or request "multi-phase initialization" by returning the definition struct itsel
This function is not called if the module state was requested but is not This function is not called if the module state was requested but is not
allocated yet. This is the case immediately after the module is created allocated yet. This is the case immediately after the module is created
and before the module is executed (:c:data:`Py_mod_exec` function). More and before the module is executed (:c:data:`Py_mod_exec` function). More
precisely, this function is not called if :c:member:`m_size` is greater precisely, this function is not called if :c:member:`~PyModuleDef.m_size` is greater
than 0 and the module state (as returned by :c:func:`PyModule_GetState`) than 0 and the module state (as returned by :c:func:`PyModule_GetState`)
is ``NULL``. is ``NULL``.

View file

@ -263,14 +263,16 @@ Implementing functions and methods
points to the contents of the docstring points to the contents of the docstring
The :c:member:`ml_meth` is a C function pointer. The functions may be of different The :c:member:`~PyMethodDef.ml_meth` is a C function pointer.
The functions may be of different
types, but they always return :c:expr:`PyObject*`. If the function is not of types, but they always return :c:expr:`PyObject*`. If the function is not of
the :c:type:`PyCFunction`, the compiler will require a cast in the method table. the :c:type:`PyCFunction`, the compiler will require a cast in the method table.
Even though :c:type:`PyCFunction` defines the first parameter as Even though :c:type:`PyCFunction` defines the first parameter as
:c:expr:`PyObject*`, it is common that the method implementation uses the :c:expr:`PyObject*`, it is common that the method implementation uses the
specific C type of the *self* object. specific C type of the *self* object.
The :c:member:`ml_flags` field is a bitfield which can include the following flags. The :c:member:`~PyMethodDef.ml_flags` field is a bitfield which can include
the following flags.
The individual flags indicate either a calling convention or a binding The individual flags indicate either a calling convention or a binding
convention. convention.

View file

@ -467,7 +467,7 @@ Module State Access from Slot Methods, Getters and Setters
Slot methods—the fast C equivalents for special methods, such as Slot methods—the fast C equivalents for special methods, such as
:c:member:`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` or :c:member:`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` or
:c:member:`~PyType.tp_new` for initialization—have a very simple API that :c:member:`~PyTypeObject.tp_new` for initialization—have a very simple API that
doesn't allow passing in the defining class, unlike with :c:type:`PyCMethod`. doesn't allow passing in the defining class, unlike with :c:type:`PyCMethod`.
The same goes for getters and setters defined with The same goes for getters and setters defined with
:c:type:`PyGetSetDef`. :c:type:`PyGetSetDef`.

View file

@ -2533,7 +2533,7 @@ Changes in the C API
* As part of the :pep:`492` implementation, the ``tp_reserved`` slot of * As part of the :pep:`492` implementation, the ``tp_reserved`` slot of
:c:type:`PyTypeObject` was replaced with a :c:type:`PyTypeObject` was replaced with a
:c:member:`tp_as_async` slot. Refer to :ref:`coro-objects` for :c:member:`~PyTypeObject.tp_as_async` slot. Refer to :ref:`coro-objects` for
new types, structures and functions. new types, structures and functions.

View file

@ -1674,7 +1674,7 @@ The new :c:func:`import__find__load__start` and
module imports. module imports.
(Contributed by Christian Heimes in :issue:`31574`.) (Contributed by Christian Heimes in :issue:`31574`.)
The fields :c:member:`name` and :c:member:`doc` of structures The fields :c:member:`!name` and :c:member:`!doc` of structures
:c:type:`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyMemberDef`, :c:type:`PyGetSetDef`,
:c:type:`PyStructSequence_Field`, :c:type:`PyStructSequence_Desc`, :c:type:`PyStructSequence_Field`, :c:type:`PyStructSequence_Desc`,
and :c:type:`wrapperbase` are now of type ``const char *`` rather of and :c:type:`wrapperbase` are now of type ``const char *`` rather of