Further SET_LINENO reomval fixes. See comments in patch #587933.
Use a slightly different strategy to determine when not to call the line
trace function. This removes the need for the RETURN_NONE opcode, so
that's gone again. Update docs and comments to match.
Thanks to Neal and Armin!
Also add a test suite. This should have come with the original patch...
diff --git a/Doc/lib/libdis.tex b/Doc/lib/libdis.tex
index 567c0ee..7bdd239 100644
--- a/Doc/lib/libdis.tex
+++ b/Doc/lib/libdis.tex
@@ -27,7 +27,8 @@
3 LOAD_FAST 0 (alist)
6 CALL_FUNCTION 1
9 RETURN_VALUE
- 10 RETURN_NONE
+ 10 LOAD_CONST 0 (None)
+ 13 RETURN_VALUE
\end{verbatim}
(The ``2'' is a line number).
@@ -401,14 +402,6 @@
Returns with TOS to the caller of the function.
\end{opcodedesc}
-\begin{opcodedesc}{RETURN_NONE}{}
-Returns \constant{None} to the caller of the function. This opcode is
-generated as the last opcode of every function and only then, for
-reasons to do with tracing support. See the comments in the function
-\cfunction{maybe_call_line_trace} in \file{Python/ceval.c} for the
-gory details. \versionadded{2.3}.
-\end{opcodedesc}
-
\begin{opcodedesc}{YIELD_VALUE}{}
Pops \code{TOS} and yields it from a generator.
\end{opcodedesc}