updated for version 7.3.1196
Problem: Old regexp engine does not match pattern with backref correctly.
(Dominique Pelle)
Solution: Fix setting status. Test multi-line patterns better.
diff --git a/src/regexp.c b/src/regexp.c
index 0798f02..fdcd9f4 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -5021,12 +5021,15 @@
{
/* 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;
}
}
}