mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
backed out of broken minimal repeat patch from July also fixed a couple of minor potential resource leaks in pattern_subx (Guido had already fixed the big one)
This commit is contained in:
parent
ed69aeedb9
commit
82b230732f
4 changed files with 22 additions and 24 deletions
|
@ -83,8 +83,8 @@ class Pattern:
|
|||
if name:
|
||||
ogid = self.groupdict.get(name, None)
|
||||
if ogid is not None:
|
||||
raise error, ("redefinition of group name %s as group %d; " +
|
||||
"was group %d") % (`name`, gid, ogid)
|
||||
raise error, ("redefinition of group name %s as group %d; "
|
||||
"was group %d" % (repr(name), gid, ogid))
|
||||
self.groupdict[name] = gid
|
||||
self.open.append(gid)
|
||||
return gid
|
||||
|
|
|
@ -638,8 +638,14 @@ xyzabc
|
|||
(r'(?i)[m]+', 'MMM', SUCCEED, 'found', 'MMM'),
|
||||
# bug 130748: ^* should be an error (nothing to repeat)
|
||||
(r'^*', '', SYNTAX_ERROR),
|
||||
# bug 133283: minimizing repeat bug
|
||||
(r'"(?:\\"|[^"])*?"', r'"\""', SUCCEED, 'found', r'"\"'),
|
||||
# bug 133283: minimizing repeat problem
|
||||
(r'"(?:\\"|[^"])*?"', r'"\""', SUCCEED, 'found', r'"\""'),
|
||||
# bug 477728: minimizing repeat problem
|
||||
(r'^.*?$', 'one\ntwo\nthree\n', FAIL),
|
||||
# bug 483789: minimizing repeat problem
|
||||
(r'a[^>]*?b', 'a>b', FAIL),
|
||||
# bug 490573: minimizing repeat problem
|
||||
(r'^a*?$', 'foo', FAIL),
|
||||
]
|
||||
|
||||
try:
|
||||
|
|
|
@ -296,7 +296,7 @@ if verbose:
|
|||
# implementation of repeated groups.
|
||||
test("sre.match('(x)*', 50000*'x').span()", (0, 50000), RuntimeError)
|
||||
test("sre.match(r'(x)*y', 50000*'x'+'y').span()", (0, 50001), RuntimeError)
|
||||
test("sre.match(r'(x)*?y', 50000*'x'+'y').span()", (0, 50001))
|
||||
test("sre.match(r'(x)*?y', 50000*'x'+'y').span()", (0, 50001), RuntimeError)
|
||||
|
||||
from re_tests import *
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue