[vim/f17: 22/44] - patchlevel 535

Karsten Hopp karsten at fedoraproject.org
Mon Jun 18 09:11:26 UTC 2012


commit e33e6d694f523f4672ca01b2142ab2c460791dc2
Author: Karsten Hopp <karsten at redhat.com>
Date:   Mon Jun 18 11:08:57 2012 +0200

    - patchlevel 535

 7.3.535 |  356 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 356 insertions(+), 0 deletions(-)
---
diff --git a/7.3.535 b/7.3.535
new file mode 100644
index 0000000..e7f0f8a
--- /dev/null
+++ b/7.3.535
@@ -0,0 +1,356 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.535
+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.535
+Problem:    Many #ifdefs for MB_MAXBYTES.
+Solution:   Also define MB_MAXBYTES without the +multi_byte feature.  Fix
+	    places where the buffer didn't include space for a NUL byte.
+Files:	    src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c,
+	    src/misc1.c, src/screen.c, src/spell.c, src/vim.h
+
+
+*** ../vim-7.3.534/src/arabic.c	2010-08-15 21:57:28.000000000 +0200
+--- src/arabic.c	2012-06-01 14:59:37.000000000 +0200
+***************
+*** 1066,1072 ****
+  
+      if (curr_c != c && ccp != NULL)
+      {
+! 	char_u buf[MB_MAXBYTES];
+  
+  	/* Update the first byte of the character. */
+  	(*mb_char2bytes)(curr_c, buf);
+--- 1066,1072 ----
+  
+      if (curr_c != c && ccp != NULL)
+      {
+! 	char_u buf[MB_MAXBYTES + 1];
+  
+  	/* Update the first byte of the character. */
+  	(*mb_char2bytes)(curr_c, buf);
+*** ../vim-7.3.534/src/edit.c	2012-06-01 14:57:47.000000000 +0200
+--- src/edit.c	2012-06-01 15:01:49.000000000 +0200
+***************
+*** 1648,1658 ****
+  #define PC_STATUS_RIGHT	1	/* right halve of double-wide char */
+  #define PC_STATUS_LEFT	2	/* left halve of double-wide char */
+  #define PC_STATUS_SET	3	/* pc_bytes was filled */
+- #ifdef FEAT_MBYTE
+  static char_u pc_bytes[MB_MAXBYTES + 1]; /* saved bytes */
+- #else
+- static char_u pc_bytes[2];		/* saved bytes */
+- #endif
+  static int  pc_attr;
+  static int  pc_row;
+  static int  pc_col;
+--- 1648,1654 ----
+***************
+*** 6819,6829 ****
+      char_u	*s;
+  
+      vim_free(last_insert);
+- #ifdef FEAT_MBYTE
+      last_insert = alloc(MB_MAXBYTES * 3 + 5);
+- #else
+-     last_insert = alloc(6);
+- #endif
+      if (last_insert != NULL)
+      {
+  	s = last_insert;
+--- 6815,6821 ----
+***************
+*** 6861,6867 ****
+      char_u	*s;
+  {
+  #ifdef FEAT_MBYTE
+!     char_u	temp[MB_MAXBYTES];
+      int		i;
+      int		len;
+  
+--- 6853,6859 ----
+      char_u	*s;
+  {
+  #ifdef FEAT_MBYTE
+!     char_u	temp[MB_MAXBYTES + 1];
+      int		i;
+      int		len;
+  
+***************
+*** 7423,7429 ****
+      int		cc;
+  {
+      int		n;
+!     char_u	buf[MB_MAXBYTES];
+      int		i;
+      int		c;
+  
+--- 7415,7421 ----
+      int		cc;
+  {
+      int		n;
+!     char_u	buf[MB_MAXBYTES + 1];
+      int		i;
+      int		c;
+  
+***************
+*** 10109,10119 ****
+      int c;
+  {
+      char_u	*res;
+- #ifdef FEAT_MBYTE
+      char_u	buf[MB_MAXBYTES + 1];
+- #else
+-     char_u	buf[2];
+- #endif
+  
+      /* Return quickly when there is nothing to do. */
+      if (!has_insertcharpre())
+--- 10101,10107 ----
+*** ../vim-7.3.534/src/eval.c	2012-05-18 18:34:15.000000000 +0200
+--- src/eval.c	2012-06-01 15:02:08.000000000 +0200
+***************
+*** 19170,19180 ****
+  set_vim_var_char(c)
+      int c;
+  {
+! #ifdef FEAT_MBYTE
+!     char_u	buf[MB_MAXBYTES];
+! #else
+!     char_u	buf[2];
+! #endif
+  
+  #ifdef FEAT_MBYTE
+      if (has_mbyte)
+--- 19170,19176 ----
+  set_vim_var_char(c)
+      int c;
+  {
+!     char_u	buf[MB_MAXBYTES + 1];
+  
+  #ifdef FEAT_MBYTE
+      if (has_mbyte)
+*** ../vim-7.3.534/src/getchar.c	2012-04-05 16:07:01.000000000 +0200
+--- src/getchar.c	2012-06-01 15:03:51.000000000 +0200
+***************
+*** 723,729 ****
+      int				c;
+  #ifdef FEAT_MBYTE
+      int				n;
+!     char_u			buf[MB_MAXBYTES];
+      int				i;
+  #endif
+  
+--- 723,729 ----
+      int				c;
+  #ifdef FEAT_MBYTE
+      int				n;
+!     char_u			buf[MB_MAXBYTES + 1];
+      int				i;
+  #endif
+  
+***************
+*** 1072,1078 ****
+      int	    c;
+  {
+  #ifdef FEAT_MBYTE
+!     char_u	buf[MB_MAXBYTES];
+  #else
+      char_u	buf[4];
+  #endif
+--- 1072,1078 ----
+      int	    c;
+  {
+  #ifdef FEAT_MBYTE
+!     char_u	buf[MB_MAXBYTES + 1];
+  #else
+      char_u	buf[4];
+  #endif
+***************
+*** 1547,1553 ****
+      int		c, c2;
+  #ifdef FEAT_MBYTE
+      int		n;
+!     char_u	buf[MB_MAXBYTES];
+      int		i;
+  #endif
+  
+--- 1547,1553 ----
+      int		c, c2;
+  #ifdef FEAT_MBYTE
+      int		n;
+!     char_u	buf[MB_MAXBYTES + 1];
+      int		i;
+  #endif
+  
+***************
+*** 4335,4345 ****
+      int		scol;		/* starting column of the abbr. */
+      int		j;
+      char_u	*s;
+- #ifdef FEAT_MBYTE
+      char_u	tb[MB_MAXBYTES + 4];
+- #else
+-     char_u	tb[4];
+- #endif
+      mapblock_T	*mp;
+  #ifdef FEAT_LOCALMAP
+      mapblock_T	*mp2;
+--- 4335,4341 ----
+*** ../vim-7.3.534/src/mbyte.c	2012-03-07 19:38:52.000000000 +0100
+--- src/mbyte.c	2012-06-01 15:04:27.000000000 +0200
+***************
+*** 708,714 ****
+  	     */
+  	    n = (i & 0x80) ? 2 : 1;
+  # else
+! 	    char buf[MB_MAXBYTES];
+  # ifdef X_LOCALE
+  #  ifndef mblen
+  #   define mblen _Xmblen
+--- 708,714 ----
+  	     */
+  	    n = (i & 0x80) ? 2 : 1;
+  # else
+! 	    char buf[MB_MAXBYTES + 1];
+  # ifdef X_LOCALE
+  #  ifndef mblen
+  #   define mblen _Xmblen
+***************
+*** 1953,1959 ****
+  /*
+   * Convert the character at screen position "off" to a sequence of bytes.
+   * Includes the composing characters.
+!  * "buf" must at least have the length MB_MAXBYTES.
+   * Only to be used when ScreenLinesUC[off] != 0.
+   * Returns the produced number of bytes.
+   */
+--- 1953,1959 ----
+  /*
+   * Convert the character at screen position "off" to a sequence of bytes.
+   * Includes the composing characters.
+!  * "buf" must at least have the length MB_MAXBYTES + 1.
+   * Only to be used when ScreenLinesUC[off] != 0.
+   * Returns the produced number of bytes.
+   */
+*** ../vim-7.3.534/src/misc1.c	2012-04-30 21:09:38.000000000 +0200
+--- src/misc1.c	2012-06-01 15:04:56.000000000 +0200
+***************
+*** 1932,1938 ****
+      int		c;
+  {
+  #if defined(FEAT_MBYTE) || defined(PROTO)
+!     char_u	buf[MB_MAXBYTES];
+      int		n;
+  
+      n = (*mb_char2bytes)(c, buf);
+--- 1932,1938 ----
+      int		c;
+  {
+  #if defined(FEAT_MBYTE) || defined(PROTO)
+!     char_u	buf[MB_MAXBYTES + 1];
+      int		n;
+  
+      n = (*mb_char2bytes)(c, buf);
+*** ../vim-7.3.534/src/screen.c	2012-03-23 16:25:13.000000000 +0100
+--- src/screen.c	2012-06-01 15:06:03.000000000 +0200
+***************
+*** 6621,6636 ****
+      int	    row, col;
+      int	    attr;
+  {
+- #ifdef FEAT_MBYTE
+      char_u	buf[MB_MAXBYTES + 1];
+  
+!     buf[(*mb_char2bytes)(c, buf)] = NUL;
+! #else
+!     char_u	buf[2];
+! 
+!     buf[0] = c;
+!     buf[1] = NUL;
+  #endif
+      screen_puts(buf, row, col, attr);
+  }
+  
+--- 6621,6637 ----
+      int	    row, col;
+      int	    attr;
+  {
+      char_u	buf[MB_MAXBYTES + 1];
+  
+! #ifdef FEAT_MBYTE
+!     if (has_mbyte)
+! 	buf[(*mb_char2bytes)(c, buf)] = NUL;
+!     else
+  #endif
++     {
++ 	buf[0] = c;
++ 	buf[1] = NUL;
++     }
+      screen_puts(buf, row, col, attr);
+  }
+  
+*** ../vim-7.3.534/src/spell.c	2012-05-18 18:07:57.000000000 +0200
+--- src/spell.c	2012-06-01 15:06:30.000000000 +0200
+***************
+*** 13694,13700 ****
+  {
+      int		m1, m2;
+  #ifdef FEAT_MBYTE
+!     char_u	buf[MB_MAXBYTES];
+      hashitem_T  *hi;
+  
+      if (c1 >= 256)
+--- 13694,13700 ----
+  {
+      int		m1, m2;
+  #ifdef FEAT_MBYTE
+!     char_u	buf[MB_MAXBYTES + 1];
+      hashitem_T  *hi;
+  
+      if (c1 >= 256)
+*** ../vim-7.3.534/src/vim.h	2012-04-30 18:48:38.000000000 +0200
+--- src/vim.h	2012-06-01 14:59:28.000000000 +0200
+***************
+*** 1703,1708 ****
+--- 1703,1710 ----
+   * character of up to 6 bytes, or one 16-bit character of up to three bytes
+   * plus six following composing characters of three bytes each. */
+  # define MB_MAXBYTES	21
++ #else
++ # define MB_MAXBYTES	1
+  #endif
+  
+  #if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO)
+***************
+*** 2017,2022 ****
+--- 2019,2025 ----
+   #pragma warning(disable : 4312)
+  #endif
+  
++ /* Note: a NULL argument for vim_realloc() is not portable, don't use it. */
+  #if defined(MEM_PROFILE)
+  # define vim_realloc(ptr, size)  mem_realloc((ptr), (size))
+  #else
+*** ../vim-7.3.534/src/version.c	2012-06-01 14:57:47.000000000 +0200
+--- src/version.c	2012-06-01 15:08:20.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     535,
+  /**/
+
+-- 
+Me?  A skeptic?  I trust you have proof.
+
+ /// 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