home *** CD-ROM | disk | FTP | other *** search
- 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 ///
-