##// END OF EJS Templates
Backport PR #2717: One liner to fix debugger printing stack traces when lines of context are larger than source....
Backport PR #2717: One liner to fix debugger printing stack traces when lines of context are larger than source. Correctly print stack traces when context is larger than lines of source. To test: ``` In [6]: def bar(): ...: return 20 ...: ``` Before: ``` In [7]: ipdb.runcall(bar) <ipython-input-6-d0ed3bd5e16c>(2)bar() 0 return 20 ``` And here's after: ``` In [6]: ipdb.runcall(bar) <ipython-input-5-d0ed3bd5e16c>(2)bar() 1 def bar(): ----> 2 return 20 ``` Replaces gh-2697. (Adds a test.)

File last commit:

r2440:0caaf43a
r9850:72c7e714
Show More
simpleerr.py
32 lines | 584 B | text/x-python | PythonLexer
"""Error script. DO NOT EDIT FURTHER! It will break exception doctests!!!"""
import sys
def div0():
"foo"
x = 1
y = 0
x/y
def sysexit(stat, mode):
raise SystemExit(stat, 'Mode = %s' % mode)
def bar(mode):
"bar"
if mode=='div':
div0()
elif mode=='exit':
try:
stat = int(sys.argv[2])
except:
stat = 1
sysexit(stat, mode)
else:
raise ValueError('Unknown mode')
if __name__ == '__main__':
try:
mode = sys.argv[1]
except IndexError:
mode = 'div'
bar(mode)