From 69ff900d9db390ac72441624deeac04ca51120f4 2013-03-04 22:47:27 From: MinRK Date: 2013-03-04 22:47:27 Subject: [PATCH] Backport PR #2503: Fix traceback handling of SyntaxErrors without line numbers. E.g. lxml generates such errors. --- diff --git a/IPython/core/ultratb.py b/IPython/core/ultratb.py index 09c91bd..9e7406a 100644 --- a/IPython/core/ultratb.py +++ b/IPython/core/ultratb.py @@ -567,10 +567,14 @@ class ListTB(TBTools): have_filedata = True #print 'filename is',filename # dbg if not value.filename: value.filename = "" - list.append('%s File %s"%s"%s, line %s%d%s\n' % \ + if value.lineno: + lineno = value.lineno + else: + lineno = 'unknown' + list.append('%s File %s"%s"%s, line %s%s%s\n' % \ (Colors.normalEm, Colors.filenameEm, value.filename, Colors.normalEm, - Colors.linenoEm, value.lineno, Colors.Normal )) + Colors.linenoEm, lineno, Colors.Normal )) if value.text is not None: i = 0 while i < len(value.text) and value.text[i].isspace():