From 2dae91695d0e5cc6cf0fb992638f0fd416c7f1a4 2012-10-19 00:21:33 From: Jez Ng Date: 2012-10-19 00:21:33 Subject: [PATCH] Avoid calling getline() if lineno is None. --- diff --git a/IPython/core/ultratb.py b/IPython/core/ultratb.py index 7e68846..d9d83c4 100644 --- a/IPython/core/ultratb.py +++ b/IPython/core/ultratb.py @@ -556,12 +556,16 @@ class ListTB(TBTools): have_filedata = True #print 'filename is',filename # dbg if not value.filename: value.filename = "" - if not value.lineno: value.lineno = "unknown" + if value.lineno: + lineno = value.lineno + textline = ulinecache.getline(value.filename, value.lineno) + else: + lineno = 'unknown' + textline = '' list.append('%s File %s"%s"%s, line %s%s%s\n' % \ (Colors.normalEm, Colors.filenameEm, py3compat.cast_unicode(value.filename), Colors.normalEm, - Colors.linenoEm, value.lineno, Colors.Normal )) - textline = ulinecache.getline(value.filename, value.lineno) + Colors.linenoEm, lineno, Colors.Normal )) if textline == '': textline = py3compat.cast_unicode(value.text, "utf-8")