mirror of
https://github.com/python/cpython.git
synced 2025-11-02 11:08:57 +00:00
bpo-46850: Move _PyInterpreterState_SetEvalFrameFunc() to internal C API (GH-32054)
Move the private _PyFrameEvalFunction type, and private _PyInterpreterState_GetEvalFrameFunc() and _PyInterpreterState_SetEvalFrameFunc() functions to the internal C API. The _PyFrameEvalFunction callback function type now uses the _PyInterpreterFrame type which is part of the internal C API. Update the _PyFrameEvalFunction documentation.
This commit is contained in:
parent
b9a5522dd9
commit
f877b40e3f
6 changed files with 38 additions and 13 deletions
|
|
@ -1228,18 +1228,25 @@ All of the following functions must be called after :c:func:`Py_Initialize`.
|
|||
|
||||
.. versionadded:: 3.8
|
||||
|
||||
.. c:type:: PyObject* (*_PyFrameEvalFunction)(PyThreadState *tstate, PyFrameObject *frame, int throwflag)
|
||||
.. c:type:: PyObject* (*_PyFrameEvalFunction)(PyThreadState *tstate, _PyInterpreterFrame *frame, int throwflag)
|
||||
|
||||
Internal C API.
|
||||
|
||||
Type of a frame evaluation function.
|
||||
|
||||
The *throwflag* parameter is used by the ``throw()`` method of generators:
|
||||
if non-zero, handle the current exception.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
The second parameter type becomes ``_PyInterpreterFrame``.
|
||||
|
||||
.. versionchanged:: 3.9
|
||||
The function now takes a *tstate* parameter.
|
||||
|
||||
.. c:function:: _PyFrameEvalFunction _PyInterpreterState_GetEvalFrameFunc(PyInterpreterState *interp)
|
||||
|
||||
Internal C API.
|
||||
|
||||
Get the frame evaluation function.
|
||||
|
||||
See the :pep:`523` "Adding a frame evaluation API to CPython".
|
||||
|
|
@ -1248,6 +1255,8 @@ All of the following functions must be called after :c:func:`Py_Initialize`.
|
|||
|
||||
.. c:function:: void _PyInterpreterState_SetEvalFrameFunc(PyInterpreterState *interp, _PyFrameEvalFunction eval_frame)
|
||||
|
||||
Internal C API.
|
||||
|
||||
Set the frame evaluation function.
|
||||
|
||||
See the :pep:`523` "Adding a frame evaluation API to CPython".
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue