[vim/f17: 40/44] - patchlevel 553

Karsten Hopp karsten at fedoraproject.org
Mon Jun 18 09:13:03 UTC 2012


commit f7f00170ab81e7280099fe5bb01023774f73231a
Author: Karsten Hopp <karsten at redhat.com>
Date:   Mon Jun 18 11:09:03 2012 +0200

    - patchlevel 553

 7.3.553 |   85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)
---
diff --git a/7.3.553 b/7.3.553
new file mode 100644
index 0000000..82c757e
--- /dev/null
+++ b/7.3.553
@@ -0,0 +1,85 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.553
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.553
+Problem:    With double-width characters and 'listchars' containing "precedes"
+	    the text is displayed one cell off.
+Solution:   Check for double-width character being overwritten by the
+	    "precedes" character. (Yasuhiro Matsumoto)
+Files:	    src/screen.c
+
+
+*** ../vim-7.3.552/src/screen.c	2012-06-06 19:05:45.000000000 +0200
+--- src/screen.c	2012-06-13 17:55:10.000000000 +0200
+***************
+*** 89,94 ****
+--- 89,97 ----
+  
+  #include "vim.h"
+  
++ #define MB_FILLER_CHAR '<'  /* character used when a double-width character
++ 			     * doesn't fit. */
++ 
+  /*
+   * The attributes that are actually active for writing to the screen.
+   */
+***************
+*** 4016,4022 ****
+  		if (n_skip > 0 && mb_l > 1 && n_extra == 0)
+  		{
+  		    n_extra = 1;
+! 		    c_extra = '<';
+  		    c = ' ';
+  		    if (area_attr == 0 && search_attr == 0)
+  		    {
+--- 4019,4025 ----
+  		if (n_skip > 0 && mb_l > 1 && n_extra == 0)
+  		{
+  		    n_extra = 1;
+! 		    c_extra = MB_FILLER_CHAR;
+  		    c = ' ';
+  		    if (area_attr == 0 && search_attr == 0)
+  		    {
+***************
+*** 4576,4581 ****
+--- 4579,4593 ----
+  	    c = lcs_prec;
+  	    lcs_prec_todo = NUL;
+  #ifdef FEAT_MBYTE
++ 	    if (has_mbyte && (*mb_char2cells)(mb_c) > 1)
++ 	    {
++ 		/* Double-width character being overwritten by the "precedes"
++ 		 * character, need to fill up half the character. */
++ 		c_extra = MB_FILLER_CHAR;
++ 		n_extra = 1;
++ 		n_attr = 2;
++ 		extra_attr = hl_attr(HLF_AT);
++ 	    }
+  	    mb_c = c;
+  	    if (enc_utf8 && (*mb_char2len)(c) > 1)
+  	    {
+*** ../vim-7.3.552/src/version.c	2012-06-13 17:28:51.000000000 +0200
+--- src/version.c	2012-06-13 17:48:45.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     553,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+32. You don't know what sex three of your closest friends are, because they
+    have neutral nicknames and you never bothered to ask.
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list