summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.323
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.323')
-rw-r--r--patches/source/vim/patches/7.4.32396
1 files changed, 96 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.323 b/patches/source/vim/patches/7.4.323
new file mode 100644
index 00000000..3faac9c6
--- /dev/null
+++ b/patches/source/vim/patches/7.4.323
@@ -0,0 +1,96 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.323
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.323
+Problem: Substitute() with zero width pattern breaks multi-byte character.
+Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
+Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok
+
+
+*** ../vim-7.4.322/src/eval.c 2014-05-28 20:31:37.496292805 +0200
+--- src/eval.c 2014-06-12 18:34:22.928389291 +0200
+***************
+*** 24848,24855 ****
+ if (zero_width == regmatch.startp[0])
+ {
+ /* avoid getting stuck on a match with an empty string */
+! *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+! ++ga.ga_len;
+ continue;
+ }
+ zero_width = regmatch.startp[0];
+--- 24848,24858 ----
+ if (zero_width == regmatch.startp[0])
+ {
+ /* avoid getting stuck on a match with an empty string */
+! i = MB_PTR2LEN(tail);
+! mch_memmove((char_u *)ga.ga_data + ga.ga_len, tail,
+! (size_t)i);
+! ga.ga_len += i;
+! tail += i;
+ continue;
+ }
+ zero_width = regmatch.startp[0];
+*** ../vim-7.4.322/src/testdir/test69.in 2014-02-22 23:49:30.268896843 +0100
+--- src/testdir/test69.in 2014-06-12 18:32:43.108385514 +0200
+***************
+*** 180,185 ****
+--- 180,192 ----
+ byteidxcomp
+
+ STARTTEST
++ /^substitute
++ :let y = substitute('123', '\zs', 'a', 'g') | put =y
++ ENDTEST
++
++ substitute
++
++ STARTTEST
+ :g/^STARTTEST/.,/^ENDTEST/d
+ :1;/^Results/,$wq! test.out
+ ENDTEST
+*** ../vim-7.4.322/src/testdir/test69.ok 2014-02-22 23:49:30.268896843 +0100
+--- src/testdir/test69.ok 2014-06-12 18:32:43.108385514 +0200
+***************
+*** 160,162 ****
+--- 160,166 ----
+ [0, 1, 3, 4, -1]
+ [0, 1, 2, 4, 5, -1]
+
++
++ substitute
++ a1a2a3a
++
+*** ../vim-7.4.322/src/version.c 2014-06-12 18:03:24.940319000 +0200
+--- src/version.c 2014-06-12 18:32:08.356384200 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 323,
+ /**/
+
+--
+ When danger reared its ugly head,
+ He bravely turned his tail and fled
+ Yes, Brave Sir Robin turned about
+ And gallantly he chickened out
+ Bravely taking to his feet
+ He beat a very brave retreat
+ Bravest of the brave Sir Robin
+ Petrified of being dead
+ Soiled his pants then brave Sir Robin
+ Turned away and fled.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///