Commits

Georg Brandl committed 21ca0b3

Fix mishandling of an ellipsis in place of the frames in a Python
console traceback, resulting in clobbered output.

Comments (0)

Files changed (3)

 
 Issue numbers refer to the tracker at http://dev.pocoo.org/projects/pygments/.
 
-Version 1.3
------------
-(in development, to be released in 2010)
+Version 1.2.1
+-------------
+(bugfix release, released Jan 02, 2010)
+
+* Fix mishandling of an ellipsis in place of the frames in a Python
+  console traceback, resulting in clobbered output.
 
 
 Version 1.2

pygments/lexers/agile.py

                 insertions.append((len(curcode),
                                    [(0, Generic.Prompt, line[:4])]))
                 curcode += line[4:]
-            elif line.rstrip() == '...':
-                tb = 0
+            elif line.rstrip() == '...' and not tb:
+                # only a new >>> prompt can end an exception block
+                # otherwise an ellipsis in place of the traceback frames
+                # will be mishandled
                 insertions.append((len(curcode),
                                    [(0, Generic.Prompt, '...')]))
                 curcode += line[3:]

tests/examplefiles/pycon_test.pycon

 >>> 
 KeyboardInterrupt
 >>>
+
+>>> 1/0
+Traceback (most recent call last):
+...
+ZeroDivisionError
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.