summaryrefslogtreecommitdiff
path: root/src/regexp.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-06-15 15:09:50 +0200
committerBram Moolenaar <Bram@vim.org>2013-06-15 15:09:50 +0200
commit141f6bb34124872d8676066e021bf899d4023c23 (patch)
tree799f4523cac94dff9e470b493457310376999a82 /src/regexp.c
parent4cff8faf0567209ab95b39b9cf7f3d555162392e (diff)
downloadvim-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.c5
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;
}
}
}