Merged revisions 73186,73206,73212 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r73186 | georg.brandl | 2009-06-03 23:21:09 +0200 (Mi, 03 Jun 2009) | 1 line

  #6174: fix indentation in code example.
........
  r73206 | georg.brandl | 2009-06-04 11:15:12 +0200 (Do, 04 Jun 2009) | 1 line

  #3584: ignore trailing newlines when placing the caret for a SyntaxError location.
........
  r73212 | georg.brandl | 2009-06-04 12:10:41 +0200 (Do, 04 Jun 2009) | 1 line

  Better name for "Ctor".
........
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 571ff57..5f92415 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -225,7 +225,7 @@
     if badline is not None:
         lines.append('    %s\n' % badline.strip())
         if offset is not None:
-            caretspace = badline[:offset].lstrip()
+            caretspace = badline.rstrip('\n')[:offset].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