[Python-checkins] bpo-44964: Correct the note about the f_lasti field (GH-28208)

ambv webhook-mailer at python.org
Fri Sep 10 11:53:46 EDT 2021


https://github.com/python/cpython/commit/ab327f2929589407595a3de95727c8ab34ddd4af
commit: ab327f2929589407595a3de95727c8ab34ddd4af
branch: main
author: Pablo Galindo Salgado <Pablogsal at gmail.com>
committer: ambv <lukasz at langa.pl>
date: 2021-09-10T17:53:42+02:00
summary:

bpo-44964: Correct the note about the f_lasti field (GH-28208)

files:
M Doc/reference/datamodel.rst
M Doc/whatsnew/3.10.rst

diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index bf3f5082fd5e0..fd78c7ef3c86f 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1069,9 +1069,8 @@ Internal types
       :attr:`f_code` is the code object being executed in this frame; :attr:`f_locals`
       is the dictionary used to look up local variables; :attr:`f_globals` is used for
       global variables; :attr:`f_builtins` is used for built-in (intrinsic) names;
-      :attr:`f_lasti` gives the precise instruction (it represents a wordcode index, which
-      means that to get an index into the bytecode string of the code object it needs to be
-      multiplied by 2).
+      :attr:`f_lasti` gives the precise instruction (this is an index into the
+      bytecode string of the code object).
 
       Accessing ``f_code`` raises an :ref:`auditing event <auditing>`
       ``object.__getattr__`` with arguments ``obj`` and ``"f_code"``.
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index ad005dc2ed674..e5069c5d9aeaf 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -1952,7 +1952,8 @@ Changes in the C API
     offset instead of a simple offset into the bytecode string. This means that this
     number needs to be multiplied by 2 to be used with APIs that expect a byte offset
     instead (like :c:func:`PyCode_Addr2Line` for example). Notice as well that the
-    ``f_lasti`` member of ``FrameObject`` objects is not considered stable.
+    ``f_lasti`` member of ``FrameObject`` objects is not considered stable: please
+    use :c:func:`PyFrame_GetLineNumber` instead.
 
 CPython bytecode changes
 ========================



More information about the Python-checkins mailing list