Mercurial > vim
changeset 4879:6d935f45c489 v7.3.1185
updated for version 7.3.1185
Problem: New regexp engine: no match with ^ after \n. (SungHyun Nam)
Solution: Fix it, add a test.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 13 Jun 2013 20:19:40 +0200 |
parents | 4c6f21f1cc92 |
children | 2f84443f9502 |
files | src/regexp_nfa.c src/testdir/test64.in src/testdir/test64.ok src/version.c |
diffstat | 4 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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))
--- 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: asdfasd<yyy xxstart1