Skip to content
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

gh-107298: Fix numerous ref errors and typos in the C API docs #108258

Merged
merged 1 commit into from
Aug 22, 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
14 changes: 9 additions & 5 deletions Doc/c-api/exceptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -222,17 +222,21 @@ For convenience, some of these functions will always return a
.. c:function:: PyObject* PyErr_SetFromWindowsErrWithFilename(int ierr, const char *filename)
Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, but the
filename is given as a C string. *filename* is decoded from the filesystem
encoding (:func:`os.fsdecode`).
Similar to :c:func:`PyErr_SetFromWindowsErr`, with the additional behavior
that if *filename* is not ``NULL``, it is decoded from the filesystem
encoding (:func:`os.fsdecode`) and passed to the constructor of
:exc:`OSError` as a third parameter to be used to define the
:attr:`!filename` attribute of the exception instance.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if Doc/c-api/exceptions.rst changes are related or not? They don't seem to fix Sphinx warnings.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both descriptions referred non-existing function

PyObject* PyErr_SetFromWindowsErrWithFilenameObject(int ierr, PyObject *filenameObject);

There is no, and never was such function.

So I rewrote the descriptions by referring other functions, using descriptions of other functions which add the filename parameter as an example.

It fixes 2 of 10 warnings in Doc/c-api/exceptions.rst.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I didn't notice, ok. Well, I approved your PR ;-)

.. availability:: Windows.
.. c:function:: PyObject* PyErr_SetExcFromWindowsErrWithFilenameObject(PyObject *type, int ierr, PyObject *filename)
Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an
additional parameter specifying the exception type to be raised.
Similar to :c:func:`PyErr_SetExcFromWindowsErr`, with the additional behavior
that if *filename* is not ``NULL``, it is passed to the constructor of
:exc:`OSError` as a third parameter to be used to define the
:attr:`!filename` attribute of the exception instance.
.. availability:: Windows.
Expand Down
4 changes: 4 additions & 0 deletions Doc/c-api/init_config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ PyWideStringList
If *length* is non-zero, *items* must be non-``NULL`` and all strings must be
non-``NULL``.

.. c:namespace:: NULL
Methods:

.. c:function:: PyStatus PyWideStringList_Append(PyWideStringList *list, const wchar_t *item)
Expand All @@ -101,6 +103,8 @@ PyWideStringList
Python must be preinitialized to call this function.
.. c:namespace:: PyWideStringList
Structure fields:
.. c:member:: Py_ssize_t length
Expand Down
4 changes: 4 additions & 0 deletions Doc/c-api/module.rst
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ The available slot types are:
The *value* pointer of this slot must point to a function of the signature:

.. c:function:: PyObject* create_module(PyObject *spec, PyModuleDef *def)
:noindex:

The function receives a :py:class:`~importlib.machinery.ModuleSpec`
instance, as defined in :PEP:`451`, and the module definition.
Expand Down Expand Up @@ -372,6 +373,7 @@ The available slot types are:
The signature of the function is:

.. c:function:: int exec_module(PyObject* module)
:noindex:

If multiple ``Py_mod_exec`` slots are specified, they are processed in the
order they appear in the *m_slots* array.
Expand All @@ -380,6 +382,8 @@ The available slot types are:

Specifies one of the following values:

.. c:namespace:: NULL

.. c:macro:: Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED

The module does not support being imported in subinterpreters.
Expand Down
2 changes: 1 addition & 1 deletion Doc/c-api/unicode.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1292,7 +1292,7 @@ the user settings on the machine running the codec.
Encode the Unicode object using the specified code page and return a Python
bytes object. Return ``NULL`` if an exception was raised by the codec. Use
:c:macro:`CP_ACP` code page to get the MBCS encoder.
:c:macro:`!CP_ACP` code page to get the MBCS encoder.
.. versionadded:: 3.3
Expand Down
2 changes: 1 addition & 1 deletion Doc/extending/newtypes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ have an associated doc string simply by providing the text in the table. An
application can use the introspection API to retrieve the descriptor from the
class object, and get the doc string using its :attr:`__doc__` attribute.

As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry with a :c:member:`~PyMethodDef.name` value
As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry with a :c:member:`~PyMethodDef.ml_name` value
of ``NULL`` is required.

.. XXX Descriptors need to be explained in more detail somewhere, but not here.
Expand Down
1 change: 0 additions & 1 deletion Doc/tools/.nitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ Doc/c-api/structures.rst
Doc/c-api/sys.rst
Doc/c-api/type.rst
Doc/c-api/typeobj.rst
Doc/c-api/unicode.rst
Doc/extending/extending.rst
Doc/extending/newtypes.rst
Doc/glossary.rst
Expand Down
12 changes: 6 additions & 6 deletions Doc/whatsnew/2.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1078,17 +1078,17 @@

To upgrade an extension module to the new API, perform the following steps:

* Rename :c:func:`Py_TPFLAGS_GC` to :c:func:`PyTPFLAGS_HAVE_GC`.
* Rename :c:macro:`!Py_TPFLAGS_GC` to :c:macro:`Py_TPFLAGS_HAVE_GC`.

* Use :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar` to allocate
objects, and :c:func:`PyObject_GC_Del` to deallocate them.

* Rename :c:func:`PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and
:c:func:`PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`.
* Rename :c:func:`!PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and
:c:func:`!PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`.

* Remove :c:func:`PyGC_HEAD_SIZE` from object size calculations.
* Remove :c:macro:`!PyGC_HEAD_SIZE` from object size calculations.

* Remove calls to :c:func:`PyObject_AS_GC` and :c:func:`PyObject_FROM_GC`.
* Remove calls to :c:func:`!PyObject_AS_GC` and :c:func:`!PyObject_FROM_GC`.

* A new ``et`` format sequence was added to :c:func:`PyArg_ParseTuple`; ``et``
takes both a parameter and an encoding name, and converts the parameter to the
Expand Down Expand Up @@ -1212,14 +1212,14 @@
* The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc`
file, if you have one. (Contributed by Mike Romberg.)

* Some features of the object returned by the :func:`xrange` function are now

Check warning on line 1215 in Doc/whatsnew/2.2.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

py:func reference target not found: xrange

Check warning on line 1215 in Doc/whatsnew/2.2.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

py:class reference target not found: xrange

Check warning on line 1215 in Doc/whatsnew/2.2.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

py:meth reference target not found: tolist

Check warning on line 1215 in Doc/whatsnew/2.2.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

py:attr reference target not found: start

Check warning on line 1215 in Doc/whatsnew/2.2.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

py:attr reference target not found: stop

Check warning on line 1215 in Doc/whatsnew/2.2.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

py:attr reference target not found: step
deprecated, and trigger warnings when they're accessed; they'll disappear in
Python 2.3. :class:`xrange` objects tried to pretend they were full sequence
types by supporting slicing, sequence multiplication, and the :keyword:`in`
operator, but these features were rarely used and therefore buggy. The
:meth:`tolist` method and the :attr:`start`, :attr:`stop`, and :attr:`step`
attributes are also being deprecated. At the C level, the fourth argument to
the :c:func:`PyRange_New` function, ``repeat``, has also been deprecated.
the :c:func:`!PyRange_New` function, ``repeat``, has also been deprecated.

* There were a bunch of patches to the dictionary implementation, mostly to fix
potential core dumps if a dictionary contains objects that sneakily changed
Expand Down
2 changes: 1 addition & 1 deletion Doc/whatsnew/2.3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1897,7 +1897,7 @@ Changes to Python's build process and to the C API include:
but will also mean that you can't get help for Python's built-ins. (Contributed
by Gustavo Niemeyer.)

* The :c:func:`PyArg_NoArgs` macro is now deprecated, and code that uses it
* The :c:func:`!PyArg_NoArgs` macro is now deprecated, and code that uses it
should be changed. For Python 2.2 and later, the method definition table can
specify the :c:macro:`METH_NOARGS` flag, signalling that there are no arguments,
and the argument checking can then be removed. If compatibility with pre-2.2
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 @@ -1468,7 +1468,7 @@ Some of the changes to Python's build process and to the C API are:
*X* is a NaN. (Contributed by Tim Peters.)

* C code can avoid unnecessary locking by using the new
:c:func:`PyEval_ThreadsInitialized` function to tell if any thread operations
:c:func:`!PyEval_ThreadsInitialized` function to tell if any thread operations
have been performed. If this function returns false, no lock operations are
needed. (Contributed by Nick Coghlan.)

Expand Down
10 changes: 5 additions & 5 deletions Doc/whatsnew/2.5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2114,14 +2114,14 @@
assignment = ast.body[0]
for_loop = ast.body[1]

No official documentation has been written for the AST code yet, but :pep:`339`

Check warning on line 2117 in Doc/whatsnew/2.5.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

c:func reference target not found: PyParser_ASTFromString
discusses the design. To start learning about the code, read the definition of
the various AST nodes in :file:`Parser/Python.asdl`. A Python script reads this
file and generates a set of C structure definitions in
:file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` and
:c:func:`PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, take
:c:func:`!PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, take
Python source as input and return the root of an AST representing the contents.
This AST can then be turned into a code object by :c:func:`PyAST_Compile`. For
This AST can then be turned into a code object by :c:func:`!PyAST_Compile`. For
more information, read the source code, and then ask questions on python-dev.

The AST code was developed under Jeremy Hylton's management, and implemented by
Expand Down Expand Up @@ -2172,7 +2172,7 @@
``Py_LOCAL(type)`` declares the function as returning a value of the
specified *type* and uses a fast-calling qualifier.
``Py_LOCAL_INLINE(type)`` does the same thing and also requests the
function be inlined. If :c:func:`PY_LOCAL_AGGRESSIVE` is defined before
function be inlined. If macro :c:macro:`!PY_LOCAL_AGGRESSIVE` is defined before
:file:`python.h` is included, a set of more aggressive optimizations are enabled
for the module; you should benchmark the results to find out if these
optimizations actually make the code faster. (Contributed by Fredrik Lundh at
Expand All @@ -2181,7 +2181,7 @@
* ``PyErr_NewException(name, base, dict)`` can now accept a tuple of base
classes as its *base* argument. (Contributed by Georg Brandl.)

* The :c:func:`PyErr_Warn` function for issuing warnings is now deprecated in
* The :c:func:`!PyErr_Warn` function for issuing warnings is now deprecated in
favour of ``PyErr_WarnEx(category, message, stacklevel)`` which lets you
specify the number of stack frames separating this function and the caller. A
*stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the
Expand All @@ -2191,7 +2191,7 @@
compiled with a C++ compiler without errors. (Implemented by Anthony Baxter,
Martin von Löwis, Skip Montanaro.)

* The :c:func:`PyRange_New` function was removed. It was never documented, never
* The :c:func:`!PyRange_New` function was removed. It was never documented, never
used in the core code, and had dangerously lax error checking. In the unlikely
case that your extensions were using it, you can replace it by something like
the following::
Expand Down
8 changes: 4 additions & 4 deletions Doc/whatsnew/2.6.rst
Original file line number Diff line number Diff line change
Expand Up @@ -977,7 +977,7 @@ can be used to include Unicode characters::
print len(s) # 12 Unicode characters

At the C level, Python 3.0 will rename the existing 8-bit
string type, called :c:type:`PyStringObject` in Python 2.x,
string type, called :c:type:`!PyStringObject` in Python 2.x,
to :c:type:`PyBytesObject`. Python 2.6 uses ``#define``
to support using the names :c:func:`PyBytesObject`,
:c:func:`PyBytes_Check`, :c:func:`PyBytes_FromStringAndSize`,
Expand Down Expand Up @@ -3012,11 +3012,11 @@ Changes to Python's build process and to the C API include:
bug occurred if one thread closed a file object while another thread
was reading from or writing to the object. In 2.6 file objects
have a reference count, manipulated by the
:c:func:`PyFile_IncUseCount` and :c:func:`PyFile_DecUseCount`
:c:func:`!PyFile_IncUseCount` and :c:func:`!PyFile_DecUseCount`
functions. File objects can't be closed unless the reference count
is zero. :c:func:`PyFile_IncUseCount` should be called while the GIL
is zero. :c:func:`!PyFile_IncUseCount` should be called while the GIL
is still held, before carrying out an I/O operation using the
``FILE *`` pointer, and :c:func:`PyFile_DecUseCount` should be called
``FILE *`` pointer, and :c:func:`!PyFile_DecUseCount` should be called
immediately after the GIL is re-acquired.
(Contributed by Antoine Pitrou and Gregory P. Smith.)

Expand Down
10 changes: 5 additions & 5 deletions Doc/whatsnew/2.7.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2152,7 +2152,7 @@ Changes to Python's build process and to the C API include:

* New function: stemming from the rewrite of string-to-float conversion,
a new :c:func:`PyOS_string_to_double` function was added. The old
:c:func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions
:c:func:`!PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof` functions
are now deprecated.

* New function: :c:func:`PySys_SetArgvEx` sets the value of
Expand Down Expand Up @@ -2195,13 +2195,13 @@ Changes to Python's build process and to the C API include:

.. XXX these macros don't seem to be described in the c-api docs.
* Removed function: :c:macro:`PyEval_CallObject` is now only available
* Removed function: :c:func:`!PyEval_CallObject` is now only available
as a macro. A function version was being kept around to preserve
ABI linking compatibility, but that was in 1997; it can certainly be
deleted by now. (Removed by Antoine Pitrou; :issue:`8276`.)

* New format codes: the :c:func:`PyFormat_FromString`,
:c:func:`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now
* New format codes: the :c:func:`!PyString_FromFormat`,
:c:func:`!PyString_FromFormatV`, and :c:func:`PyErr_Format` functions now
accept ``%lld`` and ``%llu`` format codes for displaying
C's :c:expr:`long long` types.
(Contributed by Mark Dickinson; :issue:`7228`.)
Expand Down Expand Up @@ -2540,7 +2540,7 @@ For C extensions:
instead of triggering a :exc:`DeprecationWarning` (:issue:`5080`).

* Use the new :c:func:`PyOS_string_to_double` function instead of the old
:c:func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions,
:c:func:`!PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof` functions,
which are now deprecated.

For applications that embed Python:
Expand Down
4 changes: 2 additions & 2 deletions Doc/whatsnew/3.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -865,8 +865,8 @@ to the C API.

* No more C API support for restricted execution.

* :c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`,
:c:func:`PyMember_Get`, and :c:func:`PyMember_Set` C APIs are removed.
* :c:func:`!PyNumber_Coerce`, :c:func:`!PyNumber_CoerceEx`,
:c:func:`!PyMember_Get`, and :c:func:`!PyMember_Set` C APIs are removed.

* New C API :c:func:`PyImport_ImportModuleNoBlock`, works like
:c:func:`PyImport_ImportModule` but won't block on the import lock
Expand Down
4 changes: 2 additions & 2 deletions Doc/whatsnew/3.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -501,12 +501,12 @@ Changes to Python's build process and to the C API include:

(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)

* Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead.
* Deprecated :c:func:`!PyNumber_Int`. Use :c:func:`PyNumber_Long` instead.

(Contributed by Mark Dickinson; :issue:`4910`.)

* Added a new :c:func:`PyOS_string_to_double` function to replace the
deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof`.
deprecated functions :c:func:`!PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof`.

(Contributed by Mark Dickinson; :issue:`5914`.)

Expand Down
4 changes: 2 additions & 2 deletions Doc/whatsnew/3.10.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1819,8 +1819,8 @@ Removed
into their code.
(Contributed by Dong-hee Na and Terry J. Reedy in :issue:`42299`.)
* Removed the :c:func:`PyModule_GetWarningsModule` function that was useless
now due to the _warnings module was converted to a builtin module in 2.6.
* Removed the :c:func:`!PyModule_GetWarningsModule` function that was useless
now due to the :mod:`!_warnings` module was converted to a builtin module in 2.6.
(Contributed by Hai Shi in :issue:`42599`.)
* Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
Expand Down
26 changes: 13 additions & 13 deletions Doc/whatsnew/3.11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2216,7 +2216,7 @@ New Features
* :c:func:`PyBuffer_SizeFromFormat`
* :c:func:`PyBuffer_ToContiguous`
* :c:func:`PyBuffer_FromContiguous`
* :c:func:`PyBuffer_CopyData`
* :c:func:`PyObject_CopyData`
* :c:func:`PyBuffer_IsContiguous`
* :c:func:`PyBuffer_FillContiguousStrides`
* :c:func:`PyBuffer_FillInfo`
Expand Down Expand Up @@ -2562,18 +2562,18 @@ Deprecated

* Deprecate the following functions to configure the Python initialization:

* :c:func:`PySys_AddWarnOptionUnicode`
* :c:func:`PySys_AddWarnOption`
* :c:func:`PySys_AddXOption`
* :c:func:`PySys_HasWarnOptions`
* :c:func:`PySys_SetArgvEx`
* :c:func:`PySys_SetArgv`
* :c:func:`PySys_SetPath`
* :c:func:`Py_SetPath`
* :c:func:`Py_SetProgramName`
* :c:func:`Py_SetPythonHome`
* :c:func:`Py_SetStandardStreamEncoding`
* :c:func:`_Py_SetProgramFullPath`
* :c:func:`!PySys_AddWarnOptionUnicode`
* :c:func:`!PySys_AddWarnOption`
* :c:func:`!PySys_AddXOption`
* :c:func:`!PySys_HasWarnOptions`
* :c:func:`!PySys_SetArgvEx`
* :c:func:`!PySys_SetArgv`
* :c:func:`!PySys_SetPath`
* :c:func:`!Py_SetPath`
* :c:func:`!Py_SetProgramName`
* :c:func:`!Py_SetPythonHome`
* :c:func:`!Py_SetStandardStreamEncoding`
* :c:func:`!_Py_SetProgramFullPath`

Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization Configuration
<init-config>` instead (:pep:`587`).
Expand Down
14 changes: 7 additions & 7 deletions Doc/whatsnew/3.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2569,7 +2569,7 @@ Changes to Python's build process and to the C API include:
to set :data:`sys.argv` without also modifying :data:`sys.path`
(:issue:`5753`).

* :c:macro:`PyEval_CallObject` is now only available in macro form. The
* :c:func:`!PyEval_CallObject` is now only available in macro form. The
function declaration, which was kept for backwards compatibility reasons, is
now removed -- the macro was introduced in 1997 (:issue:`8276`).

Expand Down Expand Up @@ -2731,15 +2731,15 @@ require changes to your code:

(Contributed by Antoine Pitrou, :issue:`10272`.)

* The misleading functions :c:func:`PyEval_AcquireLock()` and
:c:func:`PyEval_ReleaseLock()` have been officially deprecated. The
thread-state aware APIs (such as :c:func:`PyEval_SaveThread()`
and :c:func:`PyEval_RestoreThread()`) should be used instead.
* The misleading functions :c:func:`!PyEval_AcquireLock` and
:c:func:`!PyEval_ReleaseLock` have been officially deprecated. The
thread-state aware APIs (such as :c:func:`PyEval_SaveThread`
and :c:func:`PyEval_RestoreThread`) should be used instead.

* Due to security risks, :func:`asyncore.handle_accept` has been deprecated, and
a new function, :func:`asyncore.handle_accepted`, was added to replace it.

(Contributed by Giampaolo Rodola in :issue:`6706`.)

* Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()`
cannot be called before :c:func:`Py_Initialize()` anymore.
* Due to the new :term:`GIL` implementation, :c:func:`!PyEval_InitThreads`
cannot be called before :c:func:`Py_Initialize` anymore.
4 changes: 2 additions & 2 deletions Doc/whatsnew/3.3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2304,7 +2304,7 @@

Encoders:

* :c:func:`!PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`
* :c:func:`!PyUnicode_Encode`: use :c:func:`!PyUnicode_AsEncodedObject`
* :c:func:`!PyUnicode_EncodeUTF7`
* :c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or
:c:func:`PyUnicode_AsUTF8String`
Expand Down Expand Up @@ -2461,8 +2461,8 @@
Porting C code
--------------

* In the course of changes to the buffer API the undocumented

Check warning on line 2464 in Doc/whatsnew/3.3.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

c:type reference target not found: PyMemoryViewObject
:c:member:`~Py_buffer.smalltable` member of the
:c:member:`!smalltable` member of the
:c:type:`Py_buffer` structure has been removed and the
layout of the :c:type:`PyMemoryViewObject` has changed.

Expand Down
4 changes: 2 additions & 2 deletions Doc/whatsnew/3.5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2512,15 +2512,15 @@ Changes in the Python API
Changes in the C API
--------------------

* The undocumented :c:member:`~PyMemoryViewObject.format` member of the
* The undocumented :c:member:`!format` member of the
(non-public) :c:type:`PyMemoryViewObject` structure has been removed.
All extensions relying on the relevant parts in ``memoryobject.h``
must be rebuilt.

* The :c:type:`PyMemAllocator` structure was renamed to
:c:type:`PyMemAllocatorEx` and a new ``calloc`` field was added.

* Removed non-documented macro :c:macro:`PyObject_REPR` which leaked references.
* Removed non-documented macro :c:macro:`!PyObject_REPR()` which leaked references.
Use format character ``%R`` in :c:func:`PyUnicode_FromFormat`-like functions
to format the :func:`repr` of the object.
(Contributed by Serhiy Storchaka in :issue:`22453`.)
Expand Down
Loading
Loading