@@ -29,6 +29,12 @@ See also :ref:`Reflection <reflection>`.
2929 Previously, this type was only available after including
3030 ``<frameobject.h> ``.
3131
32+ .. c :function :: PyFrameObject *PyFrame_New (PyThreadState *tstate, PyCodeObject *code, PyObject *globals, PyObject *locals)
33+
34+ Create a new frame object. This function returns a :term: `strong reference `
35+ to the new frame object on success, and returns ``NULL `` with an exception
36+ set on failure.
37+
3238.. c :function :: int PyFrame_Check (PyObject *obj)
3339
3440 Return non-zero if *obj * is a frame object.
@@ -161,6 +167,57 @@ See :pep:`667` for more information.
161167
162168 Return non-zero if *obj * is a frame :func: `locals ` proxy.
163169
170+
171+ Legacy Local Variable APIs
172+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
173+
174+ These APIs are :term: `soft deprecated `. As of Python 3.13, they do nothing.
175+ They exist solely for backwards compatibility.
176+
177+
178+ .. c :function :: void PyFrame_LocalsToFast (PyFrameObject *f, int clear)
179+
180+ This function is :term: `soft deprecated ` and does nothing.
181+
182+ Prior to Python 3.13, this function would copy the :attr: `~frame.f_locals `
183+ attribute of *f * to the internal "fast" array of local variables, allowing
184+ changes in frame objects to be visible to the interpreter. If *clear * was
185+ true, this function would process variables that were unset in the locals
186+ dictionary.
187+
188+ .. versionchanged :: 3.13
189+ This function now does nothing.
190+
191+
192+ .. c :function :: void PyFrame_FastToLocals (PyFrameObject *f)
193+
194+ This function is :term: `soft deprecated ` and does nothing.
195+
196+ Prior to Python 3.13, this function would copy the internal "fast" array
197+ of local variables (which is used by the interpreter) to the
198+ :attr:`~frame.f_locals` attribute of *f*, allowing changes in local
199+ variables to be visible to frame objects.
200+
201+ .. versionchanged:: 3.13
202+ This function now does nothing.
203+
204+
205+ .. c:function:: int PyFrame_FastToLocalsWithError(PyFrameObject *f)
206+
207+ This function is :term: `soft deprecated ` and does nothing.
208+
209+ Prior to Python 3.13, this function was similar to
210+ :c:func: `PyFrame_FastToLocals `, but would return ``0 `` on success, and
211+ ``-1 `` with an exception set on failure.
212+
213+ .. versionchanged :: 3.13
214+ This function now does nothing.
215+
216+
217+ .. seealso ::
218+ :pep: `667 `
219+
220+
164221Internal Frames
165222^^^^^^^^^^^^^^^
166223
0 commit comments