]> git.eshelyaron.com Git - emacs.git/commitdiff
(at_begline_loc_p): Also recognize the \\(?:^ case
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 25 May 2000 16:32:19 +0000 (16:32 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 25 May 2000 16:32:19 +0000 (16:32 +0000)
of an anchor at the beginning of a shy-group.

src/ChangeLog
src/regex.c

index f6ae2321c2a578d80118f8e3bd7f7eae9dbeb3fb..555c2ca749e510641d13a985010f494facea0be6 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
+       of an anchor at the beginning of a shy-group.
+
 2000-05-25  Gerd Moellmann  <gerd@gnu.org>
 
        * xdisp.c (handle_invisible_prop): Don't try to skip over
index 3b4eb502596b4b6a0689620cff984a8da5e0c6d6..9ea8699c331b29aa8d89de0a6659c6fddecaadf8 100644 (file)
@@ -3208,7 +3208,12 @@ at_begline_loc_p (pattern, p, syntax)
        /* After a subexpression?  */
        (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
        /* After an alternative?         */
-    || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
+    || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash))
+       /* After a shy subexpression?  */
+    || ((syntax & RE_SHY_GROUPS) && prev - 2 >= pattern
+       && prev[-1] == '?' && prev[-2] == '('
+       && (syntax & RE_NO_BK_PARENS
+           || (prev - 3 >= pattern && prev[-3] == '\\')));
 }