# HG changeset patch # User Bram Moolenaar # Date 1425572166 -3600 # Node ID 2c7f279d419caab2b6329e0415322ebf4fa3f312 # Parent 46d672c4269dfaab0ac8ddeae3fc478a114097d9 updated for version 7.4.651 Problem: Can't match "%>80v" properly for multi-byte characters. Solution: Multiply the character number by the maximum number of bytes in a character. (Yasuhiro Matsumoto) diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -6477,7 +6477,11 @@ nfa_regmatch(prog, start, submatch, m) /* Bail out quickly when there can't be a match, avoid the * overhead of win_linetabsize() on long lines. */ - if (op != 1 && col > t->state->val) + if (op != 1 && col > t->state->val +#ifdef FEAT_MBYTE + * (has_mbyte ? MB_MAXBYTES : 1) +#endif + ) break; result = FALSE; if (op == 1 && col - 1 > t->state->val && col > 100) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 651, +/**/ 650, /**/ 649,