]> granicus.if.org Git - python/commitdiff
Fixed negative lookahead/lookbehind. Closes bug #115618.
authorFredrik Lundh <fredrik@pythonware.com>
Tue, 3 Oct 2000 16:29:23 +0000 (16:29 +0000)
committerFredrik Lundh <fredrik@pythonware.com>
Tue, 3 Oct 2000 16:29:23 +0000 (16:29 +0000)
Lib/test/re_tests.py
Modules/_sre.c

index 3a25d511afeea10b1238bf8b26b129b5a2124724..bb72f3d5445ac45a3357681ac5027824586a9686 100755 (executable)
@@ -615,4 +615,6 @@ xyzabc
     # bug 112468
     ('(', '', SYNTAX_ERROR),
     ('[\\41]', '!', SUCCEED, 'found', '!'),
+    # bug 115618
+    (r'(?<!abc)(d.f)', 'abcdefdof', SUCCEED, 'found', 'dof'),
 ]
index 2412d42af1024b817528d9824edc3867820efb3e..6cfc3e3f264dbe75d5a2b533a847c07e5fd3c2c3 100644 (file)
@@ -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;