Anonymous avatar Anonymous committed f094117

Ignore MemoryError while parsing Python source with Python 2.4
(it's raised for invalid coding cookies).

Comments (0)

Files changed (1)

sphinx/highlighting.py

                 replace('\x02', '@rb[]')
 
 
+parsing_exceptions = (SyntaxError, UnicodeEncodeError)
+if sys.version_info < (2, 5):
+    # Python <= 2.4 raises MemoryError when parsing an
+    # invalid encoding cookie
+    parsing_exceptions += MemoryError,
+
+
 class PygmentsBridge(object):
     def __init__(self, dest='html', stylename='sphinx'):
         self.dest = dest
 
                 try:
                     parser.suite(src)
-                except (SyntaxError, UnicodeEncodeError):
+                except parsing_exceptions:
                     return unhighlighted()
                 else:
                     lexer = lexers['python']
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.