Skip to content

Commit

Permalink
Use :c:type: role.
Browse files Browse the repository at this point in the history
  • Loading branch information
serhiy-storchaka committed Jul 22, 2023
1 parent 1f10607 commit 06eec6a
Show file tree
Hide file tree
Showing 16 changed files with 43 additions and 43 deletions.
2 changes: 1 addition & 1 deletion Doc/c-api/arg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -555,7 +555,7 @@ Building values
Same as ``s#``.
``u`` (:class:`str`) [const wchar_t \*]
Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or UCS-4)
Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or UCS-4)
data to a Python Unicode object. If the Unicode buffer pointer is ``NULL``,
``None`` is returned.
Expand Down
2 changes: 1 addition & 1 deletion Doc/c-api/memory.rst
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@ that the treatment of negative indices differs from a Python slice):
default).
A serial number, incremented by 1 on each call to a malloc-like or
realloc-like function. Big-endian ``size_t``. If "bad memory" is detected
realloc-like function. Big-endian :c:type:`size_t`. If "bad memory" is detected
later, the serial number gives an excellent way to set a breakpoint on the
next run, to capture the instant at which this block was passed out. The
static function bumpserialno() in obmalloc.c is the only place the serial
Expand Down
22 changes: 11 additions & 11 deletions Doc/c-api/unicode.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Python:

.. c:type:: Py_UNICODE
This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit type
This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit type
depending on the platform.

.. versionchanged:: 3.3
Expand Down Expand Up @@ -437,11 +437,11 @@ APIs:
+----------+-----------------------------------------------------+
| ``ll`` | :c:expr:`long long` or :c:expr:`unsigned long long` |
+----------+-----------------------------------------------------+
| ``j`` | :c:expr:`intmax_t` or :c:expr:`uintmax_t` |
| ``j`` | :c:type:`intmax_t` or :c:type:`uintmax_t` |
+----------+-----------------------------------------------------+
| ``z`` | :c:expr:`size_t` or :c:expr:`ssize_t` |
| ``z`` | :c:type:`size_t` or :c:type:`ssize_t` |
+----------+-----------------------------------------------------+
| ``t`` | :c:expr:`ptrdiff_t` |
| ``t`` | :c:type:`ptrdiff_t` |
+----------+-----------------------------------------------------+
The length modifier ``l`` for following conversions ``s`` or ``V`` specify
Expand Down Expand Up @@ -520,7 +520,7 @@ APIs:
.. note::
The width formatter unit is number of characters rather than bytes.
The precision formatter unit is number of bytes or :c:expr:`wchar_t`
The precision formatter unit is number of bytes or :c:type:`wchar_t`
items (if the length modifier ``l`` is used) for ``"%s"`` and
``"%V"`` (if the ``PyObject*`` argument is ``NULL``), and a number of
characters for ``"%A"``, ``"%U"``, ``"%S"``, ``"%R"`` and ``"%V"``
Expand Down Expand Up @@ -839,21 +839,21 @@ conversion function:
wchar_t Support
"""""""""""""""
:c:expr:`wchar_t` support for platforms which support it:
:c:type:`wchar_t` support for platforms which support it:
.. c:function:: PyObject* PyUnicode_FromWideChar(const wchar_t *w, Py_ssize_t size)
Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given *size*.
Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given *size*.
Passing ``-1`` as the *size* indicates that the function must itself compute the length,
using wcslen.
Return ``NULL`` on failure.
.. c:function:: Py_ssize_t PyUnicode_AsWideChar(PyObject *unicode, wchar_t *w, Py_ssize_t size)
Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*. At most
*size* :c:expr:`wchar_t` characters are copied (excluding a possibly trailing
null termination character). Return the number of :c:expr:`wchar_t` characters
Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At most
*size* :c:type:`wchar_t` characters are copied (excluding a possibly trailing
null termination character). Return the number of :c:type:`wchar_t` characters
copied or ``-1`` in case of an error. Note that the resulting :c:expr:`wchar_t*`
string may or may not be null-terminated. It is the responsibility of the caller
to make sure that the :c:expr:`wchar_t*` string is null-terminated in case this is
Expand All @@ -867,7 +867,7 @@ wchar_t Support
Convert the Unicode object to a wide character string. The output string
always ends with a null character. If *size* is not ``NULL``, write the number
of wide characters (excluding the trailing null termination character) into
*\*size*. Note that the resulting :c:expr:`wchar_t` string might contain
*\*size*. Note that the resulting :c:type:`wchar_t` string might contain
null characters, which would cause the string to be truncated when used with
most C functions. If *size* is ``NULL`` and the :c:expr:`wchar_t*` string
contains null characters a :exc:`ValueError` is raised.
Expand Down
2 changes: 1 addition & 1 deletion Doc/c-api/veryhigh.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ parameter. The available start symbols are :c:data:`Py_eval_input`,
following the functions which accept them as parameters.

Note also that several of these functions take :c:expr:`FILE*` parameters. One
particular issue which needs to be handled carefully is that the :c:expr:`FILE`
particular issue which needs to be handled carefully is that the :c:type:`FILE`
structure for different C libraries can be different and incompatible. Under
Windows (at least), it is possible for dynamically linked extensions to actually
use different libraries, so care should be taken that :c:expr:`FILE*` parameters
Expand Down
4 changes: 2 additions & 2 deletions Doc/library/array.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ Notes:
It can be 16 bits or 32 bits depending on the platform.

.. versionchanged:: 3.9
``array('u')`` now uses ``wchar_t`` as C type instead of deprecated
``array('u')`` now uses :c:type:`wchar_t` as C type instead of deprecated
``Py_UNICODE``. This change doesn't affect its behavior because
``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3.
``Py_UNICODE`` is alias of :c:type:`wchar_t` since Python 3.3.

.. deprecated-removed:: 3.3 3.16
Please migrate to ``'w'`` typecode.
Expand Down
16 changes: 8 additions & 8 deletions Doc/library/ctypes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -216,11 +216,11 @@ Fundamental data types
+----------------------+------------------------------------------+----------------------------+
| ctypes type | C type | Python type |
+======================+==========================================+============================+
| :class:`c_bool` | :c:expr:`_Bool` | bool (1) |
| :class:`c_bool` | :c:type:`_Bool` | bool (1) |
+----------------------+------------------------------------------+----------------------------+
| :class:`c_char` | :c:expr:`char` | 1-character bytes object |
+----------------------+------------------------------------------+----------------------------+
| :class:`c_wchar` | :c:expr:`wchar_t` | 1-character string |
| :class:`c_wchar` | :c:type:`wchar_t` | 1-character string |
+----------------------+------------------------------------------+----------------------------+
| :class:`c_byte` | :c:expr:`char` | int |
+----------------------+------------------------------------------+----------------------------+
Expand All @@ -243,9 +243,9 @@ Fundamental data types
| :class:`c_ulonglong` | :c:expr:`unsigned __int64` or | int |
| | :c:expr:`unsigned long long` | |
+----------------------+------------------------------------------+----------------------------+
| :class:`c_size_t` | :c:expr:`size_t` | int |
| :class:`c_size_t` | :c:type:`size_t` | int |
+----------------------+------------------------------------------+----------------------------+
| :class:`c_ssize_t` | :c:expr:`ssize_t` or | int |
| :class:`c_ssize_t` | :c:type:`ssize_t` or | int |
| | :c:expr:`Py_ssize_t` | |
+----------------------+------------------------------------------+----------------------------+
| :class:`c_time_t` | :c:type:`time_t` | int |
Expand Down Expand Up @@ -335,7 +335,7 @@ property::

The :func:`create_string_buffer` function replaces the old :func:`c_buffer`
function (which is still available as an alias). To create a mutable memory
block containing unicode characters of the C type :c:expr:`wchar_t`, use the
block containing unicode characters of the C type :c:type:`wchar_t`, use the
:func:`create_unicode_buffer` function.


Expand Down Expand Up @@ -478,7 +478,7 @@ By default functions are assumed to return the C :c:expr:`int` type. Other
return types can be specified by setting the :attr:`restype` attribute of the
function object.

The C prototype of ``time()`` is ``time_t time(time_t *)``. Because ``time_t``
The C prototype of ``time()`` is ``time_t time(time_t *)``. Because :c:type:`time_t`
might be of a different type than the default return type ``int``, you should
specify the ``restype``::

Expand Down Expand Up @@ -2407,7 +2407,7 @@ These are the fundamental ctypes data types:

.. class:: c_wchar

Represents the C :c:expr:`wchar_t` datatype, and interprets the value as a
Represents the C :c:type:`wchar_t` datatype, and interprets the value as a
single character unicode string. The constructor accepts an optional string
initializer, the length of the string must be exactly one character.

Expand All @@ -2421,7 +2421,7 @@ These are the fundamental ctypes data types:

.. class:: c_bool

Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` from
Represent the C :c:expr:`bool` datatype (more accurately, :c:type:`_Bool` from
C99). Its value can be ``True`` or ``False``, and the constructor accepts any object
that has a truth value.

Expand Down
8 changes: 4 additions & 4 deletions Doc/library/struct.rst
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ platform-dependent.
+--------+--------------------------+--------------------+----------------+------------+
| ``B`` | :c:expr:`unsigned char` | integer | 1 | \(2) |
+--------+--------------------------+--------------------+----------------+------------+
| ``?`` | :c:expr:`_Bool` | bool | 1 | \(1) |
| ``?`` | :c:type:`_Bool` | bool | 1 | \(1) |
+--------+--------------------------+--------------------+----------------+------------+
| ``h`` | :c:expr:`short` | integer | 2 | \(2) |
+--------+--------------------------+--------------------+----------------+------------+
Expand All @@ -231,9 +231,9 @@ platform-dependent.
| ``Q`` | :c:expr:`unsigned long | integer | 8 | \(2) |
| | long` | | | |
+--------+--------------------------+--------------------+----------------+------------+
| ``n`` | :c:expr:`ssize_t` | integer | | \(3) |
| ``n`` | :c:type:`ssize_t` | integer | | \(3) |
+--------+--------------------------+--------------------+----------------+------------+
| ``N`` | :c:expr:`size_t` | integer | | \(3) |
| ``N`` | :c:type:`size_t` | integer | | \(3) |
+--------+--------------------------+--------------------+----------------+------------+
| ``e`` | \(6) | float | 2 | \(4) |
+--------+--------------------------+--------------------+----------------+------------+
Expand All @@ -260,7 +260,7 @@ Notes:
(1)
.. index:: single: ? (question mark); in struct format strings

The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined by
The ``'?'`` conversion code corresponds to the :c:type:`_Bool` type defined by
C99. If this type is not available, it is simulated using a :c:expr:`char`. In
standard mode, it is always represented by one byte.

Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/2.6.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2389,7 +2389,7 @@ changes, or look through the Subversion logs for all the details.
has been updated from version 2.3.2 in Python 2.5 to
version 2.4.1.

* The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type,
* The :mod:`struct` module now supports the C99 :c:type:`_Bool` type,
using the format character ``'?'``.
(Contributed by David Remahl.)

Expand Down
10 changes: 5 additions & 5 deletions Doc/whatsnew/3.13.rst
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ Pending Removal in Python 3.15
Pending Removal in Python 3.16
------------------------------

* :class:`array.array` ``'u'`` type (``wchar_t``):
* :class:`array.array` ``'u'`` type (:c:type:`wchar_t`):
use the ``'w'`` type instead (``Py_UCS4``).

Pending Removal in Future Versions
Expand Down Expand Up @@ -793,8 +793,8 @@ Deprecated
----------

* Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types: use directly
the ``wchar_t`` type instead. Since Python 3.3, ``Py_UNICODE`` and
``PY_UNICODE_TYPE`` are just aliases to ``wchar_t``.
the :c:type:`wchar_t` type instead. Since Python 3.3, ``Py_UNICODE`` and
``PY_UNICODE_TYPE`` are just aliases to :c:type:`wchar_t`.
(Contributed by Victor Stinner in :gh:`105156`.)

* Deprecate old Python initialization functions:
Expand Down Expand Up @@ -997,8 +997,8 @@ Pending Removal in Python 3.15
* :c:func:`PyImport_ImportModuleNoBlock`: use :c:func:`PyImport_ImportModule`.
* :c:func:`PyWeakref_GET_OBJECT`: use :c:func:`PyWeakref_GetRef` instead.
* :c:func:`PyWeakref_GetObject`: use :c:func:`PyWeakref_GetRef` instead.
* :c:type:`!Py_UNICODE_WIDE` type: use ``wchar_t`` instead.
* :c:type:`Py_UNICODE` type: use ``wchar_t`` instead.
* :c:type:`!Py_UNICODE_WIDE` type: use :c:type:`wchar_t` instead.
* :c:type:`Py_UNICODE` type: use :c:type:`wchar_t` instead.
* Python initialization functions:

* :c:func:`PySys_ResetWarnOptions`: clear :data:`sys.warnoptions` and
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 @@ -1984,7 +1984,7 @@ the form '-rwxrwxrwx'.
struct
------

The :mod:`struct` module now supports ``ssize_t`` and ``size_t`` via the
The :mod:`struct` module now supports :c:type:`ssize_t` and :c:type:`size_t` via the
new codes ``n`` and ``N``, respectively. (Contributed by Antoine Pitrou
in :issue:`3163`.)

Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/3.5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2192,7 +2192,7 @@ encode error with ``\N{...}`` escapes.
(Contributed by Serhiy Storchaka in :issue:`19676`.)

A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`,
but accepts a ``va_list`` argument.
but accepts a :c:type:`va_list` argument.
(Contributed by Antoine Pitrou in :issue:`18711`.)

A new :c:data:`PyExc_RecursionError` exception.
Expand Down
4 changes: 2 additions & 2 deletions Doc/whatsnew/3.9.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1115,9 +1115,9 @@ Changes in the Python API
``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``.
(Contributed by Batuhan Taskaya in :issue:`39562`)

* ``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``.
* ``array('u')`` now uses :c:type:`wchar_t` as C type instead of ``Py_UNICODE``.
This change doesn't affect to its behavior because ``Py_UNICODE`` is alias
of ``wchar_t`` since Python 3.3.
of :c:type:`wchar_t` since Python 3.3.
(Contributed by Inada Naoki in :issue:`34538`.)

* The :func:`logging.getLogger` API now returns the root logger when passed
Expand Down
2 changes: 1 addition & 1 deletion Misc/NEWS.d/3.10.0a5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -667,4 +667,4 @@ exception (if an exception is set). Patch by Victor Stinner.
.. section: C API
Fixed a compiler warning in :c:func:`Py_UNICODE_ISSPACE()` on platforms with
signed ``wchar_t``.
signed :c:type:`wchar_t`.
2 changes: 1 addition & 1 deletion Misc/NEWS.d/3.12.0a1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5308,7 +5308,7 @@ parameter. Patch by Kumar Aditya.
.. section: Build
Python now always use the ``%zu`` and ``%zd`` printf formats to format a
``size_t`` or ``Py_ssize_t`` number. Building Python 3.12 requires a C11
:c:type:`size_t` or ``Py_ssize_t`` number. Building Python 3.12 requires a C11
compiler, so these printf formats are now always supported. Patch by Victor
Stinner.

Expand Down
2 changes: 1 addition & 1 deletion Misc/NEWS.d/3.12.0b1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2382,7 +2382,7 @@ Patch by Dong-hee Na.
.. section: C API
Add support of more formatting options (left aligning, octals, uppercase
hexadecimals, :c:expr:`intmax_t`, :c:expr:`ptrdiff_t`, :c:expr:`wchar_t` C
hexadecimals, :c:type:`intmax_t`, :c:type:`ptrdiff_t`, :c:type:`wchar_t` C
strings, variable width and precision) in :c:func:`PyUnicode_FromFormat` and
:c:func:`PyUnicode_FromFormatV`.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types: use directly
the ``wchar_t`` type instead. Since Python 3.3, ``Py_UNICODE`` and
``PY_UNICODE_TYPE`` are just aliases to ``wchar_t``. Patch by Victor
the :c:type:`wchar_t` type instead. Since Python 3.3, ``Py_UNICODE`` and
``PY_UNICODE_TYPE`` are just aliases to :c:type:`wchar_t`. Patch by Victor
Stinner.

0 comments on commit 06eec6a

Please sign in to comment.