diff --git a/IPython/core/ultratb.py b/IPython/core/ultratb.py index d3518ea..f06a172 100644 --- a/IPython/core/ultratb.py +++ b/IPython/core/ultratb.py @@ -126,6 +126,14 @@ def inspect_error(): 'Below is the traceback from this internal error.\n') +# N.B. This function is a monkeypatch we are currently not applying. +# It was written some time ago, to fix an apparent Python bug with +# codeobj.co_firstlineno . Unfortunately, we don't know under what conditions +# the bug occurred, so we can't tell if it has been fixed. If it reappears, we +# will apply the monkeypatch again. Also, note that findsource() is not called +# by our code at this time - we don't know if it was when the monkeypatch was +# written, or if the monkeypatch is needed for some other code (like a debugger). +# For the discussion about not applying it, see gh-1229. TK, Jan 2011. def findsource(object): """Return the entire source file and starting line number for an object. @@ -201,9 +209,10 @@ def findsource(object): return lines, lnum raise IOError('could not find code object') +# Not applying the monkeypatch - see above the function for details. TK, Jan 2012 # Monkeypatch inspect to apply our bugfix. This code only works with py25 -if sys.version_info[:2] >= (2,5): - inspect.findsource = findsource +#if sys.version_info[:2] >= (2,5): +# inspect.findsource = findsource def fix_frame_records_filenames(records): """Try to fix the filenames in each record from inspect.getinnerframes().