The proposed patch fixes the backtrace line numbers issue, but it does not fix
PyFrame_GetLineNumber() which is the recommended way to get the frame line
number.
As mentionned in the original message, testing for f->f_trace to implement the
f_lineno getter is not correct. The f_lineno setter is also wrong in allowing to
modify f_lineno when the frame is not the one that is being traced (pdb prevents
that to happen though, in do_jump()).
I am working on another patch that should fix the issue by changing
PyFrame_GetLineNumber() and the f_lineno accessors. |