diff options
author | Georg Brandl <georg@python.org> | 2010-01-02 22:17:59 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-01-02 22:17:59 +0100 |
commit | 8f4be9fbf50638a43d7d5b05bce38c7335b49b15 (patch) | |
tree | 2093cf9f140e523e1466614e20ff134c99ecf30d | |
parent | b1cdf98fea6a8249f36e208211c4a9ba4040f162 (diff) | |
download | pygments-8f4be9fbf50638a43d7d5b05bce38c7335b49b15.tar.gz |
Fixed a forever-backtracking regex in the BashLexer (#462).
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | pygments/lexers/other.py | 4 | ||||
-rw-r--r-- | pygments/lexers/text.py | 4 |
3 files changed, 6 insertions, 4 deletions
@@ -10,6 +10,8 @@ Version 1.2.2 * Removed a backwards incompatibility in the LaTeX formatter that caused Sphinx to produce invalid commands when writing LaTeX output (#463). +* Fixed a forever-backtracking regex in the BashLexer (#462). + Version 1.2.1 ------------- diff --git a/pygments/lexers/other.py b/pygments/lexers/other.py index d3eac45c..05a6c6cb 100644 --- a/pygments/lexers/other.py +++ b/pygments/lexers/other.py @@ -359,8 +359,8 @@ class BashLexer(RegexLexer): (r'&&|\|\|', Operator), ], 'data': [ - (r'\$?"(\\\\|\\[0-7]+|\\.|[^"])*"', String.Double), - (r"\$?'(\\\\|\\[0-7]+|\\.|[^'])*'", String.Single), + (r'\$?"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double), + (r"\$?'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single), (r';', Text), (r'\s+', Text), (r'[^=\s\n\[\]{}()$"\'`\\<]+', Text), diff --git a/pygments/lexers/text.py b/pygments/lexers/text.py index 8a35b314..c01fd835 100644 --- a/pygments/lexers/text.py +++ b/pygments/lexers/text.py @@ -171,8 +171,8 @@ class BaseMakefileLexer(RegexLexer): (r'([a-zA-Z0-9_${}.-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n|.*\n)+)', bygroups(Name.Variable, Text, Operator, Text, using(BashLexer))), # strings - (r'"(\\\\|\\"|[^"])*"', String.Double), - (r"'(\\\\|\\'|[^'])*'", String.Single), + (r'"(\\\\|\\.|[^"\\])*"', String.Double), + (r"'(\\\\|\\.|[^'\\])*'", String.Single), # targets (r'([^\n:]+)(:+)([ \t]*)', bygroups(Name.Function, Operator, Text), 'block-header'), |