Fixed negative lookahead/lookbehind.  Closes bug #115618.
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 @@
     # 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 @@
             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 @@
                 return i;
             if (i)
                 return 0;
-            if (pattern[1] > 0 && state->ptr != ptr)
-                return SRE_ERROR_STATE;
             pattern += pattern[0];
             break;