summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-01-02 22:17:59 +0100
committerGeorg Brandl <georg@python.org>2010-01-02 22:17:59 +0100
commit8f4be9fbf50638a43d7d5b05bce38c7335b49b15 (patch)
tree2093cf9f140e523e1466614e20ff134c99ecf30d
parentb1cdf98fea6a8249f36e208211c4a9ba4040f162 (diff)
downloadpygments-8f4be9fbf50638a43d7d5b05bce38c7335b49b15.tar.gz
Fixed a forever-backtracking regex in the BashLexer (#462).
-rw-r--r--CHANGES2
-rw-r--r--pygments/lexers/other.py4
-rw-r--r--pygments/lexers/text.py4
3 files changed, 6 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index 5eb2c77d..b81efa00 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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'),