summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-06-01 04:23:04 (GMT)
committerGitHub <noreply@github.com>2024-06-01 04:23:04 (GMT)
commit0a266f7e74ce1ff4ad6e88f05473cc6a22ab7e20 (patch)
tree679ce41bab03bcf4891f8c46fa141407a4bd7db0 /Doc/whatsnew
parenta5272e63efc003a30a2b603b512d367282a24209 (diff)
downloadcpython-0a266f7e74ce1ff4ad6e88f05473cc6a22ab7e20.zip
cpython-0a266f7e74ce1ff4ad6e88f05473cc6a22ab7e20.tar.gz
cpython-0a266f7e74ce1ff4ad6e88f05473cc6a22ab7e20.tar.bz2
[3.13] gh-74929: PEP 667 C API documentation (gh-119892)
* Add docs for new APIs * Add soft-deprecation notices * Add What's New porting entries * Update comments referencing `PyFrame_LocalsToFast()` to mention the proxy instead * Other related cleanups found when looking for refs to the deprecated APIs (cherry picked from commit 3859e09e3d92d004978dd838f0511364e7edfb94) Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r--Doc/whatsnew/3.13.rst16
1 files changed, 15 insertions, 1 deletions
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index d09d7ce..09dc537 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -97,7 +97,7 @@ Interpreter improvements:
* :pep:`667`: The :func:`locals` builtin now has
:ref:`defined semantics <whatsnew313-locals-semantics>` when mutating the
returned mapping. Python debuggers and similar tools may now more reliably
- update local variables in optimized frames even during concurrent code
+ update local variables in optimized scopes even during concurrent code
execution.
New typing features:
@@ -2131,6 +2131,11 @@ New Features
destruction the same way the :mod:`tracemalloc` module does. (Contributed
by Pablo Galindo in :gh:`93502`.)
+* Add :c:func:`PyEval_GetFrameBuiltins`, :c:func:`PyEval_GetFrameGlobals`, and
+ :c:func:`PyEval_GetFrameLocals` to the C API. These replacements for
+ :c:func:`PyEval_GetBuiltins`, :c:func:`PyEval_GetGlobals`, and
+ :c:func:`PyEval_GetLocals` return :term:`strong references <strong reference>`
+ rather than borrowed references. (Added as part of :pep:`667`.)
Build Changes
=============
@@ -2306,6 +2311,15 @@ Changes in the C API
to :c:func:`PyUnstable_Code_GetFirstFree`.
(Contributed by Bogdan Romanyuk in :gh:`115781`.)
+* :c:func:`!PyFrame_FastToLocals` and :c:func:`!PyFrame_FastToLocalsWithError`
+ no longer have any effect. Calling these functions has been redundant since
+ Python 3.11, when :c:func:`PyFrame_GetLocals` was first introduced.
+ (Changed as part of :pep:`667`.)
+
+* :c:func:`!PyFrame_LocalsToFast` no longer has any effect. Calling this function
+ is redundant now that :c:func:`PyFrame_GetLocals` returns a write-through proxy
+ for :term:`optimized scopes <optimized scope>`. (Changed as part of :pep:`667`.)
+
Removed C APIs
--------------