Blob Blame History Raw
To: vim_dev@googlegroups.com
Subject: Patch 7.3.081
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.3.081
Problem:    Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution:   Use transstr(). (partly by Caio Ariede)
Files:	    src/screen.c


*** ../vim-7.3.080/src/screen.c	2010-08-15 21:57:32.000000000 +0200
--- src/screen.c	2010-12-08 19:27:20.000000000 +0100
***************
*** 3405,3413 ****
  # endif
  		   )
  		{
! 		    int_u	text_sign;
  # ifdef FEAT_SIGN_ICONS
! 		    int_u	icon_sign;
  # endif
  
  		    /* Draw two cells with the sign value or blank. */
--- 3405,3413 ----
  # endif
  		   )
  		{
! 		    int	text_sign;
  # ifdef FEAT_SIGN_ICONS
! 		    int	icon_sign;
  # endif
  
  		    /* Draw two cells with the sign value or blank. */
***************
*** 6522,6529 ****
  				stl, use_sandbox,
  				fillchar, maxwidth, hltab, tabtab);
      vim_free(stl);
-     len = (int)STRLEN(buf);
  
      while (width < maxwidth && len < (int)sizeof(buf) - 1)
      {
  #ifdef FEAT_MBYTE
--- 6522,6538 ----
  				stl, use_sandbox,
  				fillchar, maxwidth, hltab, tabtab);
      vim_free(stl);
  
+     /* Make all characters printable. */
+     p = transstr(buf);
+     if (p != NULL)
+     {
+ 	vim_strncpy(buf, p, sizeof(buf) - 1);
+ 	vim_free(p);
+     }
+ 
+     /* fill up with "fillchar" */
+     len = (int)STRLEN(buf);
      while (width < maxwidth && len < (int)sizeof(buf) - 1)
      {
  #ifdef FEAT_MBYTE
*** ../vim-7.3.080/src/version.c	2010-12-08 17:09:27.000000000 +0100
--- src/version.c	2010-12-08 19:31:40.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     81,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
6. You refuse to go to a vacation spot with no electricity and no phone lines.

 /// 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    ///