--- /usr/lib/python2.6/traceback.py 2009-09-23 19:49:17.000000000 -0500 +++ /home/matt/tmp/traceback.py 2009-09-21 17:09:49.590440613 -0500 @@ -190,11 +190,10 @@ if badline is not None: lines.append(' %s\n' % badline.strip()) if offset is not None: - caretspace = badline[:offset].lstrip() + caretspace = badline[:offset-1].lstrip() # non-space whitespace (likes tabs) must be kept for alignment caretspace = ((c.isspace() and c or ' ') for c in caretspace) - # only three spaces to account for offset1 == pos 0 - lines.append(' %s^\n' % ''.join(caretspace)) + lines.append(' %s^\n' % ''.join(caretspace)) value = msg lines.append(_format_final_exc_line(stype, value))