https://github.com/python/cpython/commit/8d745f75a9ea5ea6114e3e65ad879bed0bc87018
commit: 8d745f75a9ea5ea6114e3e65ad879bed0bc87018
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: ZeroIntensity <[email protected]>
date: 2026-10-03T15:44:48Z
summary:

[3.14] gh-158643: Document that `Py_EnterRecursiveCall` uses the C stack, not a 
counter (GH-158644) (GH-158654)

(cherry picked from commit d6d1ebcdc9f758cff7564dd3aa894c004fc55762)

Co-authored-by: Bhuvansh <[email protected]>
Co-authored-by: An Long <[email protected]>

files:
M Doc/c-api/exceptions.rst

diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst
index 1b9c7ede393f5ca..f9c9e88f74dbad7 100644
--- a/Doc/c-api/exceptions.rst
+++ b/Doc/c-api/exceptions.rst
@@ -1016,6 +1016,10 @@ because the :ref:`call protocol <call>` takes care of 
recursion handling.
    case, a :exc:`RecursionError` is set and a nonzero value is returned.
    Otherwise, zero is returned.
 
+   The check is based on the remaining C stack space of the current thread,
+   not on a count of calls, so it is unaffected by
+   :c:func:`Py_SetRecursionLimit` and :func:`sys.setrecursionlimit`.
+
    *where* should be a UTF-8 encoded string such as ``" in instance check"`` to
    be concatenated to the :exc:`RecursionError` message caused by the recursion
    depth limit.
@@ -1026,6 +1030,10 @@ because the :ref:`call protocol <call>` takes care of 
recursion handling.
    .. versionchanged:: 3.9
       This function is now also available in the :ref:`limited API 
<limited-c-api>`.
 
+   .. versionchanged:: 3.14
+      The check is based on the remaining C stack space.  Previously, a
+      separate counter of C-level calls was used.
+
 .. c:function:: void Py_LeaveRecursiveCall(void)
 
    Ends a :c:func:`Py_EnterRecursiveCall`.  Must be called once for each

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to