Skip to content

gh-106948: Docs: Disable links for C standard library functions, OS utility functions and system calls #107062

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 9 commits into from
Jul 23, 2023
Next Next commit
Docs: Disable links for _weakref and C stdlib functions
Disable links for C functions [mcr]alloc and free
  • Loading branch information
erlend-aasland committed Jul 22, 2023
commit e8bff9288a88fca107dbc9f8fc1caaaa65d9d35f
6 changes: 3 additions & 3 deletions Doc/c-api/arg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ API Functions
will be set if there was a failure.

This is an example of the use of this function, taken from the sources for the
:mod:`_weakref` helper module for weak references::
:mod:`!_weakref` helper module for weak references::

static PyObject *
weakref_ref(PyObject *self, PyObject *args)
Expand Down Expand Up @@ -518,9 +518,9 @@ Building values
When memory buffers are passed as parameters to supply data to build objects, as
for the ``s`` and ``s#`` formats, the required data is copied. Buffers provided
by the caller are never referenced by the objects created by
:c:func:`Py_BuildValue`. In other words, if your code invokes :c:func:`malloc`
:c:func:`Py_BuildValue`. In other words, if your code invokes :c:func:`!malloc`
and passes the allocated memory to :c:func:`Py_BuildValue`, your code is
responsible for calling :c:func:`free` for that memory once
responsible for calling :c:func:`!free` for that memory once
:c:func:`Py_BuildValue` returns.

In the following description, the quoted form is the format unit; the entry in
Expand Down
4 changes: 2 additions & 2 deletions Doc/c-api/memory.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ API functions listed in this document.
single: free()

To avoid memory corruption, extension writers should never try to operate on
Python objects with the functions exported by the C library: :c:func:`malloc`,
:c:func:`calloc`, :c:func:`realloc` and :c:func:`free`. This will result in mixed
Python objects with the functions exported by the C library: :c:func:`!malloc`,
:c:func:`!calloc`, :c:func:`!realloc` and :c:func:`!free`. This will result in mixed
calls between the C allocator and the Python memory manager with fatal
consequences, because they implement different algorithms and operate on
different heaps. However, one may safely allocate and release memory blocks
Expand Down