Karsten Hopp 5827cd
To: vim_dev@googlegroups.com
Karsten Hopp 5827cd
Subject: Patch 7.3.138
Karsten Hopp 5827cd
Fcc: outbox
Karsten Hopp 5827cd
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 5827cd
Mime-Version: 1.0
Karsten Hopp 5827cd
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 5827cd
Content-Transfer-Encoding: 8bit
Karsten Hopp 5827cd
------------
Karsten Hopp 5827cd
Karsten Hopp 5827cd
Patch 7.3.138
Karsten Hopp 5827cd
Problem:    ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
Karsten Hopp 5827cd
Solution:   Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
Karsten Hopp 5827cd
Files:	    src/ex_docmd.c
Karsten Hopp 5827cd
Karsten Hopp 5827cd
Karsten Hopp 5827cd
*** ../vim-7.3.137/src/ex_docmd.c	2011-01-17 19:50:01.000000000 +0100
Karsten Hopp 5827cd
--- src/ex_docmd.c	2011-03-03 15:47:00.000000000 +0100
Karsten Hopp 5827cd
***************
Karsten Hopp 5827cd
*** 6054,6068 ****
Karsten Hopp 5827cd
  		end = vim_strchr(start + 1, '>');
Karsten Hopp 5827cd
  	    if (buf != NULL)
Karsten Hopp 5827cd
  	    {
Karsten Hopp 5827cd
! 		ksp = vim_strchr(p, K_SPECIAL);
Karsten Hopp 5827cd
! 		if (ksp != NULL && (start == NULL || ksp < start || end == NULL)
Karsten Hopp 5827cd
  			&& ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
Karsten Hopp 5827cd
  # ifdef FEAT_GUI
Karsten Hopp 5827cd
  			    || (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
Karsten Hopp 5827cd
  # endif
Karsten Hopp 5827cd
  			    ))
Karsten Hopp 5827cd
  		{
Karsten Hopp 5827cd
! 		    /* K_SPECIAL han been put in the buffer as K_SPECIAL
Karsten Hopp 5827cd
  		     * KS_SPECIAL KE_FILLER, like for mappings, but
Karsten Hopp 5827cd
  		     * do_cmdline() doesn't handle that, so convert it back.
Karsten Hopp 5827cd
  		     * Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
Karsten Hopp 5827cd
--- 6054,6070 ----
Karsten Hopp 5827cd
  		end = vim_strchr(start + 1, '>');
Karsten Hopp 5827cd
  	    if (buf != NULL)
Karsten Hopp 5827cd
  	    {
Karsten Hopp 5827cd
! 		for (ksp = p; *ksp != NUL && *ksp != K_SPECIAL; ++ksp)
Karsten Hopp 5827cd
! 		    ;
Karsten Hopp 5827cd
! 		if (*ksp == K_SPECIAL
Karsten Hopp 5827cd
! 			&& (start == NULL || ksp < start || end == NULL)
Karsten Hopp 5827cd
  			&& ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
Karsten Hopp 5827cd
  # ifdef FEAT_GUI
Karsten Hopp 5827cd
  			    || (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
Karsten Hopp 5827cd
  # endif
Karsten Hopp 5827cd
  			    ))
Karsten Hopp 5827cd
  		{
Karsten Hopp 5827cd
! 		    /* K_SPECIAL has been put in the buffer as K_SPECIAL
Karsten Hopp 5827cd
  		     * KS_SPECIAL KE_FILLER, like for mappings, but
Karsten Hopp 5827cd
  		     * do_cmdline() doesn't handle that, so convert it back.
Karsten Hopp 5827cd
  		     * Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
Karsten Hopp 5827cd
*** ../vim-7.3.137/src/version.c	2011-03-03 15:04:01.000000000 +0100
Karsten Hopp 5827cd
--- src/version.c	2011-03-03 15:53:41.000000000 +0100
Karsten Hopp 5827cd
***************
Karsten Hopp 5827cd
*** 716,717 ****
Karsten Hopp 5827cd
--- 716,719 ----
Karsten Hopp 5827cd
  {   /* Add new patch number below this line */
Karsten Hopp 5827cd
+ /**/
Karsten Hopp 5827cd
+     138,
Karsten Hopp 5827cd
  /**/
Karsten Hopp 5827cd
Karsten Hopp 5827cd
-- 
Karsten Hopp 5827cd
    f y cn rd ths thn y cn hv grt jb n cmptr prgrmmng
Karsten Hopp 5827cd
Karsten Hopp 5827cd
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 5827cd
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 5827cd
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 5827cd
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///