diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-06-15 15:09:50 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-06-15 15:09:50 +0200 |
commit | 141f6bb34124872d8676066e021bf899d4023c23 (patch) | |
tree | 799f4523cac94dff9e470b493457310376999a82 /src/regexp.c | |
parent | 4cff8faf0567209ab95b39b9cf7f3d555162392e (diff) | |
download | vim-git-141f6bb34124872d8676066e021bf899d4023c23.tar.gz |
updated for version 7.3.1196v7.3.1196
Problem: Old regexp engine does not match pattern with backref correctly.
(Dominique Pelle)
Solution: Fix setting status. Test multi-line patterns better.
Diffstat (limited to 'src/regexp.c')
-rw-r--r-- | src/regexp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/regexp.c b/src/regexp.c index 0798f028b..fdcd9f41e 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -5021,12 +5021,15 @@ regmatch(scan) { /* Messy situation: Need to compare between two * lines. */ - status = match_with_backref( + int r = match_with_backref( reg_startpos[no].lnum, reg_startpos[no].col, reg_endpos[no].lnum, reg_endpos[no].col, &len); + + if (r != RA_MATCH) + status = r; } } } |