STINNER Victor <vstin...@python.org> added the comment:
Python/ceval.c also has "int _Py_CheckRecursionLimit = Py_DEFAULT_RECURSION_LIMIT;". _Py_CheckRecursiveCall() has this comment: /* Needed for ABI backwards-compatibility (see bpo-31857) */ _Py_CheckRecursionLimit = recursion_limit; I converted Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() macros into opaque functions in bpo-38644: commit f4b1e3d7c64985f5d5b00f6cc9a1c146bbbfd613. I don't think that the "ABI backwards-compatibility" rationale is correct. These macros never worked in the limited C API: they accessed PyThreadState.recursion_depth and PyThreadState.overflowed members, whereas the PyThreadState structure is opaque in the limited C API (on purpose, see also bpo-39947). I think that it is now safe to simply remove _Py_CheckRecursionLimit. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue40513> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com