]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.1023 v7.3.1023
authorBram Moolenaar <Bram@vim.org>
Sun, 26 May 2013 13:14:55 +0000 (15:14 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 26 May 2013 13:14:55 +0000 (15:14 +0200)
Problem:    Searching for composing char only and using \Z has different
            results.
Solution:   Make it match the composing char, matching everything is not
            useful.

src/regexp_nfa.c
src/testdir/test95.in
src/testdir/test95.ok
src/version.c

index c7c6598bbb1d2d51a36f462892b757191f02addd..93100087e9042c498e027d460f4cf15489a98d9f 100644 (file)
@@ -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. */
index 0f678794e9f16857d064d68ae6654e80b14dc8c1..111d877584e23f9935d5e5a34ce5d01914e08d5a 100644 (file)
@@ -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'])
index 3fafb8f52666faf765b6516fff434a47f22b8f8d..b9cdd2e1857ab5561f4d69978ee4510f7de697ae 100644 (file)
@@ -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=]]\+
index 30e6436b6c09d840839e5d4145adb6e5460372cf..303a4d26141147dcb56f0f8112d1d6ccaf063840 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1023,
 /**/
     1022,
 /**/