This is Richie Hindle's patch
[ 643835 ] Set Next Statement for Python debuggers
with a few tweaks by me: adding an unsigned or two, mentioning that
not all jumps are allowed in the doc for pdb, adding a NEWS item and
a note to whatsnew, and AuCTeX doing something cosmetic to libpdb.tex.
diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex
index eb1d658..605ed55 100644
--- a/Doc/ref/ref3.tex
+++ b/Doc/ref/ref3.tex
@@ -812,8 +812,7 @@
variables; \member{f_globals} is used for global variables;
\member{f_builtins} is used for built-in (intrinsic) names;
\member{f_restricted} is a flag indicating whether the function is
-executing in restricted execution mode;
-\member{f_lineno} gives the line number and \member{f_lasti} gives the
+executing in restricted execution mode; \member{f_lasti} gives the
precise instruction (this is an index into the bytecode string of
the code object).
\withsubitem{(frame attribute)}{
@@ -821,7 +820,6 @@
\ttindex{f_code}
\ttindex{f_globals}
\ttindex{f_locals}
- \ttindex{f_lineno}
\ttindex{f_lasti}
\ttindex{f_builtins}
\ttindex{f_restricted}}
@@ -830,12 +828,16 @@
function called at the start of each source code line (this is used by
the debugger); \member{f_exc_type}, \member{f_exc_value},
\member{f_exc_traceback} represent the most recent exception caught in
-this frame.
+this frame; \member{f_lineno} is the current line number of the frame
+--- writing to this from within a trace function jumps to the given line
+(only for the bottom-most frame). A debugger can implement a Jump
+command (aka Set Next Statement) by writing to f_lineno.
\withsubitem{(frame attribute)}{
\ttindex{f_trace}
\ttindex{f_exc_type}
\ttindex{f_exc_value}
- \ttindex{f_exc_traceback}}
+ \ttindex{f_exc_traceback}
+ \ttindex{f_lineno}}
\item[Traceback objects] \label{traceback}
Traceback objects represent a stack trace of an exception. A