Skip to content

[3.11] gh-107091: Fix some uses of :c:type: role (GH-107138) #107313

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Doc/c-api/tuple.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ Tuple Objects
raises :exc:`MemoryError` or :exc:`SystemError`.


.. _struct-sequence-objects:

Struct Sequence Objects
-----------------------

Expand Down
20 changes: 10 additions & 10 deletions Doc/c-api/typeobj.rst
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,9 @@ Quick Reference

.. [#cols] Columns:

**"O"**: set on :c:type:`PyBaseObject_Type`
**"O"**: set on :c:data:`PyBaseObject_Type`

**"T"**: set on :c:type:`PyType_Type`
**"T"**: set on :c:data:`PyType_Type`

**"D"**: default (if slot is set to ``NULL``)

Expand Down Expand Up @@ -567,8 +567,8 @@ PyTypeObject Slots

Each slot has a section describing inheritance. If :c:func:`PyType_Ready`
may set a value when the field is set to ``NULL`` then there will also be
a "Default" section. (Note that many fields set on :c:type:`PyBaseObject_Type`
and :c:type:`PyType_Type` effectively act as defaults.)
a "Default" section. (Note that many fields set on :c:data:`PyBaseObject_Type`
and :c:data:`PyType_Type` effectively act as defaults.)

.. c:member:: const char* PyTypeObject.tp_name

Expand Down Expand Up @@ -962,7 +962,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)

**Default:**

:c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`.
:c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`.


.. c:member:: setattrofunc PyTypeObject.tp_setattro
Expand All @@ -988,7 +988,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)

**Default:**

:c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`.
:c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`.


.. c:member:: PyBufferProcs* PyTypeObject.tp_as_buffer
Expand Down Expand Up @@ -1030,7 +1030,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)

**Default:**

:c:type:`PyBaseObject_Type` uses
:c:data:`PyBaseObject_Type` uses
``Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE``.

**Bit Masks:**
Expand Down Expand Up @@ -1492,7 +1492,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)

**Default:**

:c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare`
:c:data:`PyBaseObject_Type` provides a :attr:`tp_richcompare`
implementation, which may be inherited. However, if only
:attr:`tp_hash` is defined, not even the inherited function is used
and instances of the type will not be able to participate in any
Expand Down Expand Up @@ -1814,7 +1814,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)
:c:func:`PyType_GenericAlloc`, to force a standard heap
allocation strategy.

For static subtypes, :c:type:`PyBaseObject_Type` uses
For static subtypes, :c:data:`PyBaseObject_Type` uses
:c:func:`PyType_GenericAlloc`. That is the recommended value
for all statically defined types.

Expand Down Expand Up @@ -1877,7 +1877,7 @@ and :c:type:`PyType_Type` effectively act as defaults.)
match :c:func:`PyType_GenericAlloc` and the value of the
:c:macro:`Py_TPFLAGS_HAVE_GC` flag bit.

For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del.
For static subtypes, :c:data:`PyBaseObject_Type` uses :c:func:`PyObject_Del`.


.. c:member:: inquiry PyTypeObject.tp_is_gc
Expand Down
4 changes: 4 additions & 0 deletions Doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@
('c:type', 'uintmax_t'),
('c:type', 'va_list'),
('c:type', 'wchar_t'),
('c:struct', 'in6_addr'),
('c:struct', 'in_addr'),
('c:struct', 'stat'),
('c:struct', 'statvfs'),
# Standard C macros
('c:macro', 'LLONG_MAX'),
('c:macro', 'LLONG_MIN'),
Expand Down
12 changes: 6 additions & 6 deletions Doc/library/os.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2243,13 +2243,13 @@ features:
.. function:: major(device, /)

Extract the device major number from a raw device number (usually the
:attr:`st_dev` or :attr:`st_rdev` field from :c:type:`stat`).
:attr:`st_dev` or :attr:`st_rdev` field from :c:struct:`stat`).


.. function:: minor(device, /)

Extract the device minor number from a raw device number (usually the
:attr:`st_dev` or :attr:`st_rdev` field from :c:type:`stat`).
:attr:`st_dev` or :attr:`st_rdev` field from :c:struct:`stat`).


.. function:: makedev(major, minor, /)
Expand Down Expand Up @@ -2743,7 +2743,7 @@ features:
.. class:: stat_result

Object whose attributes correspond roughly to the members of the
:c:type:`stat` structure. It is used for the result of :func:`os.stat`,
:c:struct:`stat` structure. It is used for the result of :func:`os.stat`,
:func:`os.fstat` and :func:`os.lstat`.

Attributes:
Expand Down Expand Up @@ -2906,12 +2906,12 @@ features:
See the ``IO_REPARSE_TAG_*`` constants in the :mod:`stat` module.

The standard module :mod:`stat` defines functions and constants that are
useful for extracting information from a :c:type:`stat` structure. (On
useful for extracting information from a :c:struct:`stat` structure. (On
Windows, some items are filled with dummy values.)

For backward compatibility, a :class:`stat_result` instance is also
accessible as a tuple of at least 10 integers giving the most important (and
portable) members of the :c:type:`stat` structure, in the order
portable) members of the :c:struct:`stat` structure, in the order
:attr:`st_mode`, :attr:`st_ino`, :attr:`st_dev`, :attr:`st_nlink`,
:attr:`st_uid`, :attr:`st_gid`, :attr:`st_size`, :attr:`st_atime`,
:attr:`st_mtime`, :attr:`st_ctime`. More items may be added at the end by
Expand Down Expand Up @@ -2944,7 +2944,7 @@ features:

Perform a :c:func:`statvfs` system call on the given path. The return value is
an object whose attributes describe the filesystem on the given path, and
correspond to the members of the :c:type:`statvfs` structure, namely:
correspond to the members of the :c:struct:`statvfs` structure, namely:
:attr:`f_bsize`, :attr:`f_frsize`, :attr:`f_blocks`, :attr:`f_bfree`,
:attr:`f_bavail`, :attr:`f_files`, :attr:`f_ffree`, :attr:`f_favail`,
:attr:`f_flag`, :attr:`f_namemax`, :attr:`f_fsid`.
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/2.4.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1491,7 +1491,7 @@ Some of the changes to Python's build process and to the C API are:
though that processor architecture doesn't call that register "the TSC
register". (Contributed by Jeremy Hylton.)

* The :c:type:`tracebackobject` type has been renamed to
* The :c:type:`!tracebackobject` type has been renamed to
:c:type:`PyTracebackObject`.

.. ======================================================================
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/3.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ Some smaller changes made to the core Python language are:

(See :issue:`4617`.)

* The internal :c:type:`structsequence` tool now creates subclasses of tuple.
* :ref:`Struct sequence types <struct-sequence-objects>` are now subclasses of tuple.
This means that C structures like those returned by :func:`os.stat`,
:func:`time.gmtime`, and :data:`sys.version_info` now work like a
:term:`named tuple` and now work with functions and methods that
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/3.3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2194,7 +2194,7 @@ Changes to Python's build process and to the C API include:
* :c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`
* :c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`,
:c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`
* :c:macro:`PyUnicode_KIND` with :c:type:`PyUnicode_Kind` enum:
* :c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum:
:c:data:`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`,
:c:data:`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`
* :c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:`PyUnicode_WRITE`
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/3.7.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1677,7 +1677,7 @@ module imports.
The fields :c:member:`name` and :c:member:`doc` of structures
:c:type:`PyMemberDef`, :c:type:`PyGetSetDef`,
:c:type:`PyStructSequence_Field`, :c:type:`PyStructSequence_Desc`,
and :c:type:`wrapperbase` are now of type ``const char *`` rather of
and :c:struct:`wrapperbase` are now of type ``const char *`` rather of
``char *``. (Contributed by Serhiy Storchaka in :issue:`28761`.)

The result of :c:func:`PyUnicode_AsUTF8AndSize` and :c:func:`PyUnicode_AsUTF8`
Expand Down
4 changes: 2 additions & 2 deletions Misc/NEWS.d/3.10.0a7.rst
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,8 @@ a non-Python signal handler.
.. nonce: VouZjn
.. section: Core and Builtins

Add ``__match_args__`` to :c:type:`structsequence` based classes. Patch by
Pablo Galindo.
Add ``__match_args__`` to :ref:`struct sequence objects <struct-sequence-objects>`.
Patch by Pablo Galindo.

..

Expand Down