Skip to content

Commit

Permalink
pythongh-118915: C API: Document frame locals proxies. (pythonGH-127720)
Browse files Browse the repository at this point in the history
(cherry picked from commit dd9da73)

Co-authored-by: Peter Bierma <[email protected]>
Co-authored-by: Alex Waygood <[email protected]>
  • Loading branch information
2 people authored and miss-islington committed Dec 11, 2024
1 parent f56da92 commit f86cf73
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion Doc/c-api/frame.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,14 +132,34 @@ See also :ref:`Reflection <reflection>`.
.. versionadded:: 3.11
.. versionchanged:: 3.13
As part of :pep:`667`, return a proxy object for optimized scopes.
As part of :pep:`667`, return an instance of :c:var:`PyFrameLocalsProxy_Type`.
.. c:function:: int PyFrame_GetLineNumber(PyFrameObject *frame)
Return the line number that *frame* is currently executing.
Frame Locals Proxies
^^^^^^^^^^^^^^^^^^^^
.. versionadded:: 3.13
The :attr:`~frame.f_locals` attribute on a :ref:`frame object <frame-objects>`
is an instance of a "frame-locals proxy". The proxy object exposes a
write-through view of the underlying locals dictionary for the frame. This
ensures that the variables exposed by ``f_locals`` are always up to date with
the live local variables in the frame itself.
See :pep:`667` for more information.
.. c:var:: PyTypeObject PyFrameLocalsProxy_Type
The type of frame :func:`locals` proxy objects.
.. c:function:: int PyFrameLocalsProxy_Check(PyObject *obj)
Return non-zero if *obj* is a frame :func:`locals` proxy.
Internal Frames
^^^^^^^^^^^^^^^
Expand Down

0 comments on commit f86cf73

Please sign in to comment.