From: Bram Moolenaar Date: Sun, 26 May 2013 13:14:55 +0000 (+0200) Subject: updated for version 7.3.1023 X-Git-Tag: v7.3.1023 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3451d662447cf0e78ebd55320d26791f228123f2;p=thirdparty%2Fvim.git updated for version 7.3.1023 Problem: Searching for composing char only and using \Z has different results. Solution: Make it match the composing char, matching everything is not useful. --- diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c index c7c6598bbb..93100087e9 100644 --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -3294,7 +3294,7 @@ nfa_regmatch(start, submatch, m) * (no preceding character). */ len += mb_char2len(mc); } - if (ireg_icombine) + if (ireg_icombine && len == 0) { /* If \Z was present, then ignore composing characters. * When ignoring the base character this always matches. */ diff --git a/src/testdir/test95.in b/src/testdir/test95.in index 0f678794e9..111d877584 100644 --- a/src/testdir/test95.in +++ b/src/testdir/test95.in @@ -62,10 +62,12 @@ STARTTEST :call add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"]) :call add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"]) :call add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"]) -:"call add(tl, [2, "\u05b9\\Z", "xyz"]) -:"call add(tl, [2, "\\Z\u05b9", "xyz"]) -:"call add(tl, [2, "\u05b9\\+\\Z", "xyz", "xyz"]) -:"call add(tl, [2, "\\Z\u05b9\\+", "xyz", "xyz"]) +:call add(tl, [2, "\u05b9\\Z", "xyz"]) +:call add(tl, [2, "\\Z\u05b9", "xyz"]) +:call add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"]) +:call add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"]) +:call add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"]) +:call add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"]) :"""" Combining different tests and features :call add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd']) diff --git a/src/testdir/test95.ok b/src/testdir/test95.ok index 3fafb8f526..b9cdd2e185 100644 --- a/src/testdir/test95.ok +++ b/src/testdir/test95.ok @@ -94,6 +94,22 @@ OK 2 - ק‍x\Z OK 0 - ק‍x\Z OK 1 - ק‍x\Z OK 2 - ק‍x\Z +OK 0 - ֹ\Z +OK 1 - ֹ\Z +OK 2 - ֹ\Z +OK 0 - \Zֹ +OK 1 - \Zֹ +OK 2 - \Zֹ +OK 0 - ֹ\Z +OK 1 - ֹ\Z +OK 2 - ֹ\Z +OK 0 - \Zֹ +OK 1 - \Zֹ +OK 2 - \Zֹ +OK 0 - ֹ\+\Z +OK 2 - ֹ\+\Z +OK 0 - \Zֹ\+ +OK 2 - \Zֹ\+ OK 0 - [^[=a=]]\+ OK 1 - [^[=a=]]\+ OK 2 - [^[=a=]]\+ diff --git a/src/version.c b/src/version.c index 30e6436b6c..303a4d2614 100644 --- a/src/version.c +++ b/src/version.c @@ -728,6 +728,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1023, /**/ 1022, /**/