diff options
-rwxr-xr-x | Lib/test/re_tests.py | 2 | ||||
-rw-r--r-- | Modules/_sre.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/Lib/test/re_tests.py b/Lib/test/re_tests.py index 3a25d51..bb72f3d 100755 --- a/Lib/test/re_tests.py +++ b/Lib/test/re_tests.py @@ -615,4 +615,6 @@ xyzabc # bug 112468 ('(', '', SYNTAX_ERROR), ('[\\41]', '!', SUCCEED, 'found', '!'), + # bug 115618 + (r'(?<!abc)(d.f)', 'abcdefdof', SUCCEED, 'found', 'dof'), ] diff --git a/Modules/_sre.c b/Modules/_sre.c index 2412d42..6cfc3e3 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -20,6 +20,7 @@ * 2000-09-02 fl return -1 instead of None for start/end/span * 2000-09-20 fl added expand method * 2000-09-21 fl don't use the buffer interface for unicode strings + * 2000-10-03 fl fixed assert_not primitive * * Copyright (c) 1997-2000 by Secret Labs AB. All rights reserved. * @@ -774,8 +775,6 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern, int level) i = SRE_MATCH(state, pattern + 2, level + 1); if (i <= 0) return i; - if (pattern[1] > 0 && state->ptr != ptr) - return SRE_ERROR_STATE; pattern += pattern[0]; break; @@ -791,8 +790,6 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern, int level) return i; if (i) return 0; - if (pattern[1] > 0 && state->ptr != ptr) - return SRE_ERROR_STATE; pattern += pattern[0]; break; |