From: Thomas Wouters Date: Wed, 27 Jun 2001 14:07:50 +0000 (+0000) Subject: Backport Tim's checkin 1.26 (patch probably by Michael Hudson, not Hundson): X-Git-Tag: v2.1.1c1~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cde43be1051513a72e7d6cdf5a9a993c6ca9fe8e;p=thirdparty%2FPython%2Fcpython.git Backport Tim's checkin 1.26 (patch probably by Michael Hudson, not Hundson): SF bug 431772: traceback.print_exc() causes traceback Patch from Michael Hundson. format_exception_only() blew up when trying to report a SyntaxError from a string input (line is None in this case, but it assumed a string). --- diff --git a/Lib/traceback.py b/Lib/traceback.py index a758349f91f1..70b16067b9dd 100644 --- a/Lib/traceback.py +++ b/Lib/traceback.py @@ -171,19 +171,20 @@ def format_exception_only(etype, value): if not filename: filename = "" list.append(' File "%s", line %d\n' % (filename, lineno)) - i = 0 - while i < len(line) and line[i].isspace(): - i = i+1 - list.append(' %s\n' % line.strip()) - if offset is not None: - s = ' ' - for c in line[i:offset-1]: - if c.isspace(): - s = s + c - else: - s = s + ' ' - list.append('%s^\n' % s) - value = msg + if line is not None: + i = 0 + while i < len(line) and line[i].isspace(): + i = i+1 + list.append(' %s\n' % line.strip()) + if offset is not None: + s = ' ' + for c in line[i:offset-1]: + if c.isspace(): + s = s + c + else: + s = s + ' ' + list.append('%s^\n' % s) + value = msg s = _some_str(value) if s: list.append('%s: %s\n' % (str(stype), s))