From: Stefan Monnier Date: Thu, 25 May 2000 16:30:40 +0000 (+0000) Subject: (at_begline_loc_p): Also recognize the \\(?:^ case X-Git-Tag: cvs-readonly~6635 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=768ec9724484730d1ae331feabf209571501528f;p=gnulib.git (at_begline_loc_p): Also recognize the \\(?:^ case of an anchor at the beginning of a shy-group. --- diff --git a/regex.c b/regex.c index 3b4eb5025..9ea8699c3 100644 --- a/regex.c +++ b/regex.c @@ -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] == '\\'))); }