From 866f3558141aa68862aa2fedbb7747bf2365e838 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 1 Jan 2019 22:19:08 +0100 Subject: [PATCH] patch 8.1.0677: look-behind match may use the wrong line number Problem: Look-behind match may use the wrong line number. (Dominique Pelle) Solution: Use the line number in regsave instead of the one in behind_pos, we may be looking at the previous line. (closes #3749) --- src/regexp.c | 2 +- src/version.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/regexp.c b/src/regexp.c index e055dd3623..b7616416c9 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -5582,7 +5582,7 @@ regmatch( if (has_mbyte) { char_u *line = - reg_getline(behind_pos.rs_u.pos.lnum); + reg_getline(rp->rs_un.regsave.rs_u.pos.lnum); rp->rs_un.regsave.rs_u.pos.col -= (*mb_head_off)(line, line diff --git a/src/version.c b/src/version.c index 53dda7f1d3..439e1bc362 100644 --- a/src/version.c +++ b/src/version.c @@ -799,6 +799,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 677, /**/ 676, /**/