# HG changeset patch # User Bram Moolenaar # Date 1371147580 -7200 # Node ID 6d935f45c489b346f06aef5b1bdd87cb98b8400b # Parent 4c6f21f1cc92c4113bc84c04d31884209294cfae updated for version 7.3.1185 Problem: New regexp engine: no match with ^ after \n. (SungHyun Nam) Solution: Fix it, add a test. diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -3936,9 +3936,10 @@ addstate(l, state, subs, pim, off) case NFA_BOL: case NFA_BOF: /* "^" won't match past end-of-line, don't bother trying. - * Except when we are going to the next line for a look-behind - * match. */ + * Except when at the end of the line, or when we are going to the + * next line for a look-behind match. */ if (reginput > regline + && *reginput != NUL && (nfa_endp == NULL || !REG_MULTI || reglnum == nfa_endp->se_u.pos.lnum)) diff --git a/src/testdir/test64.in b/src/testdir/test64.in --- a/src/testdir/test64.in +++ b/src/testdir/test64.in @@ -480,6 +480,12 @@ Gop:" :.yank y$Gop:" :" +:" Check a pattern with a line break and ^ and $ +/^Abc: +/a\n^b$\n^c/e +:.yank +Gop:" +:" :" Check a pattern with a look beind crossing a line boundary /^Behind: /\(<\_[xy]\+\)\@3<=start @@ -555,6 +561,11 @@ ghi xjk lmn +Abc: +a +b +c + Behind: asdfasdAc 7 ghi +c + xxstart3 thexE thE thExethe diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1185, +/**/ 1184, /**/ 1183,