@@ -68,10 +68,10 @@ versions of Python, without recompilation.
6868There are two Stable ABIs:
6969
7070- ``abi3 ``, introduced in Pyton 3.2, is compatible with
71- **non **-:term: `free threaded <free-threaded build> ` builds of CPython.
71+ **non **-:term: `free- threaded <free-threaded build> ` builds of CPython.
7272
7373- ``abi3t ``, introduced in Pyton 3.15, is compatible with
74- :term: `free threaded <free-threaded build> ` builds of CPython.
74+ :term: `free- threaded <free-threaded build> ` builds of CPython.
7575 It has stricter API limitations than ``abi3 ``.
7676
7777 .. versionadded :: next
@@ -99,8 +99,8 @@ This library only exposes the relevant symbols.
9999
100100On some platforms, Python will look for and load shared library files named
101101with the ``abi3 `` or ``abi3t `` tag (for example, ``mymodule.abi3.so ``).
102- :term: `Free threaded <free-threaded build> ` interpreters only recognize the
103- ``abi3t `` tag, while non-free threaded ones will prefer ``abi3 `` but fall back
102+ :term: `Free- threaded <free-threaded build> ` interpreters only recognize the
103+ ``abi3t `` tag, while non-free- threaded ones will prefer ``abi3 `` but fall back
104104to ``abi3t ``.
105105Thus, extensions compatible with both ABIs should use the ``abi3t `` tag.
106106
@@ -158,13 +158,13 @@ visible to the compiler but should not be used directly.
158158.. c :macro :: Py_LIMITED_API
159159
160160 Target ``abi3 ``, that is,
161- non-:term: `free threaded <free-threaded build> ` builds of CPython.
161+ non-:term: `free- threaded <free-threaded build> ` builds of CPython.
162162 See :ref: `above <abi3-compiling >` for common information.
163163
164164.. c :macro :: Py_TARGET_ABI3T
165165
166166 Target ``abi3t ``, that is,
167- :term: `free threaded <free-threaded build> ` builds of CPython.
167+ :term: `free- threaded <free-threaded build> ` builds of CPython.
168168 See :ref: `above <abi3-compiling >` for common information.
169169
170170 .. versionadded :: next
@@ -189,6 +189,8 @@ This means that there are two ways to build for both ``abi3`` and ``abi3t``:
189189- define only :c:macro: `!Py_LIMITED_API ` and build for free-threaded Python.
190190
191191
192+ .. _limited-api-scope-and-performance :
193+
192194Stable ABI Scope and Performance
193195--------------------------------
194196
@@ -215,6 +217,8 @@ alongside a version compiled for Stable ABI -- a slower but more compatible
215217fallback.
216218
217219
220+ .. _limited-api-caveats :
221+
218222Stable ABI Caveats
219223------------------
220224
@@ -224,7 +228,6 @@ Stable ABI prevents *ABI* issues, like linker errors due to missing
224228symbols or data corruption due to changes in structure layouts or function
225229signatures.
226230However, other changes in Python can change the *behavior * of extensions.
227- See Python's Backwards Compatibility Policy (:pep: `387 `) for details.
228231
229232One issue that the :c:macro: `Py_TARGET_ABI3T ` and :c:macro: `Py_LIMITED_API `
230233macros do not guard against is calling a function with arguments that are
0 commit comments