summaryrefslogtreecommitdiffstats
path: root/Lib/sre_parse.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2003-04-14 17:59:34 (GMT)
committerGuido van Rossum <guido@python.org>2003-04-14 17:59:34 (GMT)
commit41c99e7f96f7a0f192839801c568d8a80dcc7091 (patch)
tree5733d278d932546d0b642dce7e631512da483f76 /Lib/sre_parse.py
parent44c62ef5ee2d48cfa0bd024507f19e47d987e6b3 (diff)
downloadcpython-41c99e7f96f7a0f192839801c568d8a80dcc7091.zip
cpython-41c99e7f96f7a0f192839801c568d8a80dcc7091.tar.gz
cpython-41c99e7f96f7a0f192839801c568d8a80dcc7091.tar.bz2
SF patch #720991 by Gary Herron:
A small fix for bug #545855 and Greg Chapman's addition of op code SRE_OP_MIN_REPEAT_ONE for eliminating recursion on simple uses of pattern '*?' on a long string.
Diffstat (limited to 'Lib/sre_parse.py')
-rw-r--r--Lib/sre_parse.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index 1b52967..fdf6767 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -419,7 +419,7 @@ def _parse(source, state):
set.append(code1)
set.append((LITERAL, ord("-")))
break
- else:
+ elif this:
if this[0] == "\\":
code2 = _class_escape(source, this)
else:
@@ -431,6 +431,8 @@ def _parse(source, state):
if hi < lo:
raise error, "bad character range"
set.append((RANGE, (lo, hi)))
+ else:
+ raise error, "unexpected end of regular expression"
else:
if code1[0] is IN:
code1 = code1[1][0]