diff options
author | Guido van Rossum <guido@python.org> | 1997-01-24 04:02:55 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-01-24 04:02:55 (GMT) |
commit | b3f515af646abf590f57fc6fe0da9eedfbbbb367 (patch) | |
tree | 942fd0df06b9d98b6c746f8fca7c1802c794a05c /Python/traceback.c | |
parent | 747596a4917cc8924519bdee081a894ebcb0e059 (diff) | |
download | cpython-b3f515af646abf590f57fc6fe0da9eedfbbbb367.zip cpython-b3f515af646abf590f57fc6fe0da9eedfbbbb367.tar.gz cpython-b3f515af646abf590f57fc6fe0da9eedfbbbb367.tar.bz2 |
Get the line number from PyCode_Addr2Line instead of believing
tb_lineno. Store it in tb_lineno for the user.
Diffstat (limited to 'Python/traceback.c')
-rw-r--r-- | Python/traceback.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Python/traceback.c b/Python/traceback.c index b06a742..3f80ef5 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -243,11 +243,14 @@ tb_printinternal(tb, f, limit) tb1 = tb1->tb_next; } while (tb != NULL && !intrcheck()) { - if (depth <= limit) + if (depth <= limit) { + tb->tb_lineno = PyCode_Addr2Line(tb->tb_frame->f_code, + tb->tb_lasti); tb_displayline(f, getstringvalue(tb->tb_frame->f_code->co_filename), tb->tb_lineno, getstringvalue(tb->tb_frame->f_code->co_name)); + } depth--; tb = tb->tb_next; } |