]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-144277: Fix usage of free-threaded terminology in the documentation (GH...
authorPeter Bierma <zintensitydev@gmail.com>
Mon, 2 Feb 2026 02:01:43 +0000 (18:01 -0800)
committerGitHub <noreply@github.com>
Mon, 2 Feb 2026 02:01:43 +0000 (21:01 -0500)
(cherry picked from commit 3a0e1835563e6acfa3059a7d9777260cb2b6717d)

Doc/c-api/object.rst
Doc/c-api/refcounting.rst
Doc/glossary.rst
Doc/library/ctypes.rst
Doc/library/site.rst
Doc/using/configure.rst

index e215027330fb4353ea5fb18bb8b57c6fceeac5b6..228b3c8aa308440985cc1fb8000cbe2e96228fc5 100644 (file)
@@ -667,10 +667,10 @@ Object Protocol
 
    :c:func:`PyUnstable_EnableTryIncRef` must have been called
    earlier on *obj* or this function may spuriously return ``0`` in the
-   :term:`free threading` build.
+   :term:`free-threaded build`.
 
    This function is logically equivalent to the following C code, except that
-   it behaves atomically in the :term:`free threading` build::
+   it behaves atomically in the :term:`free-threaded build`::
 
       if (Py_REFCNT(op) > 0) {
          Py_INCREF(op);
@@ -747,10 +747,10 @@ Object Protocol
    On GIL-enabled builds, this function is equivalent to
    :c:expr:`Py_REFCNT(op) == 1`.
 
-   On a :term:`free threaded <free threading>` build, this checks if *op*'s
+   On a :term:`free-threaded build`, this checks if *op*'s
    :term:`reference count` is equal to one and additionally checks if *op*
    is only used by this thread. :c:expr:`Py_REFCNT(op) == 1` is **not**
-   thread-safe on free threaded builds; prefer this function.
+   thread-safe on free-threaded builds; prefer this function.
 
    The caller must hold an :term:`attached thread state`, despite the fact
    that this function doesn't call into the Python interpreter. This function
index 57a0728d4e9af42524ef252e63340d6e6b2193da..4d56a92bf2af79709cb0b5a3a0b4172503d51158 100644 (file)
@@ -25,7 +25,7 @@ of Python objects.
 
    .. note::
 
-      On :term:`free threaded <free threading>` builds of Python, returning 1
+      On :term:`free-threaded builds <free-threaded build>` of Python, returning 1
       isn't sufficient to determine if it's safe to treat *o* as having no
       access by other threads. Use :c:func:`PyUnstable_Object_IsUniquelyReferenced`
       for that instead.
index 68035c2dfb57d421dcdaace88d3a068056b58049..7c41f5bc27b070a0a234eb5c95d365c960ad21de 100644 (file)
@@ -160,9 +160,9 @@ Glossary
       On most builds of Python, having an attached thread state implies that the
       caller holds the :term:`GIL` for the current interpreter, so only
       one OS thread can have an attached thread state at a given moment. In
-      :term:`free-threaded <free threading>` builds of Python, threads can concurrently
-      hold an attached thread state, allowing for true parallelism of the bytecode
-      interpreter.
+      :term:`free-threaded builds <free-threaded build>` of Python, threads can
+      concurrently hold an attached thread state, allowing for true parallelism of
+      the bytecode interpreter.
 
    attribute
       A value associated with an object which is usually referenced by name
@@ -580,6 +580,13 @@ Glossary
       the :term:`global interpreter lock` which allows only one thread to
       execute Python bytecode at a time.  See :pep:`703`.
 
+   free-threaded build
+
+      A build of :term:`CPython` that supports :term:`free threading`,
+      configured using the :option:`--disable-gil` option before compilation.
+
+      See :ref:`freethreading-python-howto`.
+
    free variable
       Formally, as defined in the :ref:`language execution model <bind_names>`, a free
       variable is any variable used in a namespace which is not a local variable in that
index 6038af99009d02ef42b3ff67fd024406cc8e33c0..d2f4da08327323142f5bcfb37943125ebb2bc06a 100644 (file)
@@ -896,7 +896,7 @@ invalid non-\ ``NULL`` pointers would crash Python)::
 Thread safety without the GIL
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-From Python 3.13 onward, the :term:`GIL` can be disabled on :term:`free threaded <free threading>` builds.
+From Python 3.13 onward, the :term:`GIL` can be disabled on the :term:`free-threaded build`.
 In ctypes, reads and writes to a single object concurrently is safe, but not across multiple objects:
 
    .. code-block:: pycon
index d93e4dc7c75f1a32e1a13066c455e6f2bceec768..ca2ac3b0098c46eeb8ebaca1007e830c20e2dcbe 100644 (file)
@@ -34,7 +34,7 @@ For the head part, it uses ``sys.prefix`` and ``sys.exec_prefix``; empty heads
 are skipped.  For the tail part, it uses the empty string and then
 :file:`lib/site-packages` (on Windows) or
 :file:`lib/python{X.Y[t]}/site-packages` (on Unix and macOS). (The
-optional suffix "t" indicates the :term:`free threading` build, and is
+optional suffix "t" indicates the :term:`free-threaded build`, and is
 appended if ``"t"`` is present in the :data:`sys.abiflags` constant.)
 For each
 of the distinct head-tail combinations, it sees if it refers to an existing
index 5c61197cec0bcfbc35e8263a4011ce01aeff9c92..61e21fba74c3a00de0d450b13180f50e71d760ab 100644 (file)
@@ -394,7 +394,7 @@ General Options
 .. option:: --disable-gil
 
    Enables support for running Python without the :term:`global interpreter
-   lock` (GIL): free threading build.
+   lock` (GIL): :term:`free-threaded build`.
 
    Defines the ``Py_GIL_DISABLED`` macro and adds ``"t"`` to
    :data:`sys.abiflags`.