packages: vim/7.2.345 (NEW), vim/7.2.346 (NEW), vim/7.2.347 (NEW), vim/7.2....

adamg adamg at pld-linux.org
Tue Feb 9 09:20:48 CET 2010


Author: adamg                        Date: Tue Feb  9 08:20:48 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- new

---- Files affected:
packages/vim:
   7.2.345 (NONE -> 1.1)  (NEW), 7.2.346 (NONE -> 1.1)  (NEW), 7.2.347 (NONE -> 1.1)  (NEW), 7.2.348 (NONE -> 1.1)  (NEW), 7.2.349 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/7.2.345
diff -u /dev/null packages/vim/7.2.345:1.1
--- /dev/null	Tue Feb  9 09:20:49 2010
+++ packages/vim/7.2.345	Tue Feb  9 09:20:43 2010
@@ -0,0 +1,47 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.345
+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.2.345
+Problem:    Tab line is not updated when the value of 'bt' is changed.
+Solution:   Call redraw_titles(). (Lech Lorens)
+Files:	    src/option.c
+
+
+*** ../vim-7.2.344/src/option.c	2009-09-11 15:20:22.000000000 +0200
+--- src/option.c	2010-01-27 15:52:45.000000000 +0100
+***************
+*** 6410,6415 ****
+--- 6410,6418 ----
+  	    }
+  # endif
+  	    curbuf->b_help = (curbuf->b_p_bt[0] == 'h');
++ # ifdef FEAT_TITLE
++ 	    redraw_titles();
++ # endif
+  	}
+      }
+  #endif
+*** ../vim-7.2.344/src/version.c	2010-01-20 21:41:40.000000000 +0100
+--- src/version.c	2010-01-27 15:57:06.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     345,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+154. You fondle your mouse.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.346
diff -u /dev/null packages/vim/7.2.346:1.1
--- /dev/null	Tue Feb  9 09:20:49 2010
+++ packages/vim/7.2.346	Tue Feb  9 09:20:43 2010
@@ -0,0 +1,110 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.346
+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.2.346
+Problem:    Repeating a command with @: causes a mapping to be applied twice.
+Solution:   Do not remap characters inserted in the typeahead buffer. (Kana
+	    Natsuno)
+Files:	    src/ops.c
+
+
+*** ../vim-7.2.345/src/ops.c	2010-01-19 14:59:14.000000000 +0100
+--- src/ops.c	2010-01-19 13:04:46.000000000 +0100
+***************
+*** 1301,1310 ****
+      }
+  }
+  
+      static int
+  put_in_typebuf(s, esc, colon, silent)
+      char_u	*s;
+!     int		esc;	    /* Escape CSI characters */
+      int		colon;	    /* add ':' before the line */
+      int		silent;
+  {
+--- 1301,1316 ----
+      }
+  }
+  
++ /*
++  * Insert register contents "s" into the typeahead buffer, so that it will be
++  * executed again.
++  * When "esc" is TRUE it is to be taken literally: Escape CSI characters and
++  * no remapping.
++  */
+      static int
+  put_in_typebuf(s, esc, colon, silent)
+      char_u	*s;
+!     int		esc;
+      int		colon;	    /* add ':' before the line */
+      int		silent;
+  {
+***************
+*** 1312,1318 ****
+  
+      put_reedit_in_typebuf(silent);
+      if (colon)
+! 	retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent);
+      if (retval == OK)
+      {
+  	char_u	*p;
+--- 1318,1324 ----
+  
+      put_reedit_in_typebuf(silent);
+      if (colon)
+! 	retval = ins_typebuf((char_u *)"\n", REMAP_NONE, 0, TRUE, silent);
+      if (retval == OK)
+      {
+  	char_u	*p;
+***************
+*** 1324,1335 ****
+  	if (p == NULL)
+  	    retval = FAIL;
+  	else
+! 	    retval = ins_typebuf(p, REMAP_YES, 0, TRUE, silent);
+  	if (esc)
+  	    vim_free(p);
+      }
+      if (colon && retval == OK)
+! 	retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent);
+      return retval;
+  }
+  
+--- 1330,1342 ----
+  	if (p == NULL)
+  	    retval = FAIL;
+  	else
+! 	    retval = ins_typebuf(p, esc ? REMAP_NONE : REMAP_YES,
+! 							     0, TRUE, silent);
+  	if (esc)
+  	    vim_free(p);
+      }
+      if (colon && retval == OK)
+! 	retval = ins_typebuf((char_u *)":", REMAP_NONE, 0, TRUE, silent);
+      return retval;
+  }
+  
+*** ../vim-7.2.345/src/version.c	2010-01-27 15:57:17.000000000 +0100
+--- src/version.c	2010-01-27 16:25:55.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     346,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+155. You forget to eat because you're too busy surfing the net.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.347
diff -u /dev/null packages/vim/7.2.347:1.1
--- /dev/null	Tue Feb  9 09:20:49 2010
+++ packages/vim/7.2.347	Tue Feb  9 09:20:43 2010
@@ -0,0 +1,138 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.347
+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.2.347
+Problem:    Crash when executing <expr> mapping redefines that same mapping.
+Solution:   Save the values used before evaluating the expression.
+Files:	    src/getchar.c
+
+
+*** ../vim-7.2.346/src/getchar.c	2009-11-11 16:23:37.000000000 +0100
+--- src/getchar.c	2010-01-27 17:30:42.000000000 +0100
+***************
+*** 2389,2394 ****
+--- 2389,2405 ----
+  		    /* complete match */
+  		    if (keylen >= 0 && keylen <= typebuf.tb_len)
+  		    {
++ #ifdef FEAT_EVAL
++ 			int save_m_expr;
++ 			int save_m_noremap;
++ 			int save_m_silent;
++ 			char_u *save_m_keys;
++ 			char_u *save_m_str;
++ #else
++ # define save_m_noremap mp->m_noremap
++ # define save_m_silent mp->m_silent
++ #endif
++ 
+  			/* write chars to script file(s) */
+  			if (keylen > typebuf.tb_maplen)
+  			    gotchars(typebuf.tb_buf + typebuf.tb_off
+***************
+*** 2431,2436 ****
+--- 2442,2457 ----
+  #endif
+  
+  #ifdef FEAT_EVAL
++ 			/* Copy the values from *mp that are used, because
++ 			 * evaluating the expression may invoke a function
++ 			 * that redefines the mapping, thereby making *mp
++ 			 * invalid. */
++ 			save_m_expr = mp->m_expr;
++ 			save_m_noremap = mp->m_noremap;
++ 			save_m_silent = mp->m_silent;
++ 			save_m_keys = NULL;  /* only saved when needed */
++ 			save_m_str = NULL;  /* only saved when needed */
++ 
+  			/*
+  			 * Handle ":map <expr>": evaluate the {rhs} as an
+  			 * expression.  Save and restore the typeahead so that
+***************
+*** 2446,2452 ****
+  			    if (tabuf.typebuf_valid)
+  			    {
+  				vgetc_busy = 0;
+! 				s = eval_map_expr(mp->m_str, NUL);
+  				vgetc_busy = save_vgetc_busy;
+  			    }
+  			    else
+--- 2467,2475 ----
+  			    if (tabuf.typebuf_valid)
+  			    {
+  				vgetc_busy = 0;
+! 				save_m_keys = vim_strsave(mp->m_keys);
+! 				save_m_str = vim_strsave(mp->m_str);
+! 				s = eval_map_expr(save_m_str, NUL);
+  				vgetc_busy = save_vgetc_busy;
+  			    }
+  			    else
+***************
+*** 2470,2486 ****
+  			else
+  			{
+  			    i = ins_typebuf(s,
+! 				    mp->m_noremap != REMAP_YES
+! 					    ? mp->m_noremap
+! 					    : STRNCMP(s, mp->m_keys,
+  							  (size_t)keylen) != 0
+  						     ? REMAP_YES : REMAP_SKIP,
+! 				0, TRUE, cmd_silent || mp->m_silent);
+  #ifdef FEAT_EVAL
+! 			    if (mp->m_expr)
+  				vim_free(s);
+  #endif
+  			}
+  			if (i == FAIL)
+  			{
+  			    c = -1;
+--- 2493,2517 ----
+  			else
+  			{
+  			    i = ins_typebuf(s,
+! 				    save_m_noremap != REMAP_YES
+! 					    ? save_m_noremap
+! 					    : STRNCMP(s,
+! #ifdef FEAT_EVAL
+! 					   save_m_keys != NULL ? save_m_keys :
+! #endif
+! 						      mp->m_keys,
+  							  (size_t)keylen) != 0
+  						     ? REMAP_YES : REMAP_SKIP,
+! 				0, TRUE, cmd_silent || save_m_silent);
+  #ifdef FEAT_EVAL
+! 			    if (save_m_expr)
+  				vim_free(s);
+  #endif
+  			}
++ #ifdef FEAT_EVAL
++ 			vim_free(save_m_keys);
++ 			vim_free(save_m_str);
++ #endif
+  			if (i == FAIL)
+  			{
+  			    c = -1;
+*** ../vim-7.2.346/src/version.c	2010-01-27 16:31:00.000000000 +0100
+--- src/version.c	2010-01-27 17:27:32.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     347,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+156. You forget your friend's name but not her e-mail address.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.348
diff -u /dev/null packages/vim/7.2.348:1.1
--- /dev/null	Tue Feb  9 09:20:49 2010
+++ packages/vim/7.2.348	Tue Feb  9 09:20:43 2010
@@ -0,0 +1,254 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.348 (after 7.2.330)
+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.2.348 (after 7.2.330)
+Problem:    Unicode double-width characters are not up-to date.
+Solution:   Produce the double-width table like the others.
+Files:	    runtime/tools/unicode.vim, src/mbyte.c
+
+
+*** ../vim-7.2.347/runtime/tools/unicode.vim	2010-01-12 19:48:57.000000000 +0100
+--- runtime/tools/unicode.vim	2010-01-27 17:57:17.000000000 +0100
+***************
+*** 187,202 ****
+    wincmd p
+  endfunc
+  
+! " Build the ambiguous table in a new buffer.
+  " Uses s:widthprops and s:dataprops.
+! func! BuildAmbiguousTable()
+    let start = -1
+    let end = -1
+    let ranges = []
+    let dataidx = 0
+    for p in s:widthprops
+!     if p[1][0] == 'A'
+!       let n = ('0x' . p[0]) + 0
+        " Find this char in the data table.
+        while 1
+  	let dn = ('0x' . s:dataprops[dataidx][0]) + 0
+--- 187,213 ----
+    wincmd p
+  endfunc
+  
+! " Build the double width or ambiguous width table in a new buffer.
+  " Uses s:widthprops and s:dataprops.
+! func! BuildWidthTable(pattern, tableName)
+    let start = -1
+    let end = -1
+    let ranges = []
+    let dataidx = 0
+    for p in s:widthprops
+!     if p[1][0] =~ a:pattern
+!       if p[0] =~ '\.\.'
+! 	" It is a range.  we don't check for composing char then.
+! 	let rng = split(p[0], '\.\.')
+! 	if len(rng) != 2
+! 	  echoerr "Cannot parse range: '" . p[0] . "' in width table"
+! 	endif
+! 	let n = ('0x' . rng[0]) + 0
+! 	let n_last =  ('0x' . rng[1]) + 0
+!       else
+! 	let n = ('0x' . p[0]) + 0
+! 	let n_last = n
+!       endif
+        " Find this char in the data table.
+        while 1
+  	let dn = ('0x' . s:dataprops[dataidx][0]) + 0
+***************
+*** 205,231 ****
+  	endif
+  	let dataidx += 1
+        endwhile
+!       if dn != n
+  	echoerr "Cannot find character " . n . " in data table"
+        endif
+        " Only use the char when it's not a composing char.
+        let dp = s:dataprops[dataidx]
+!       if dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me'
+  	if start >= 0 && end + 1 == n
+  	  " continue with same range.
+- 	  let end = n
+  	else
+  	  if start >= 0
+  	    " produce previous range
+  	    call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end))
+  	  endif
+  	  let start = n
+- 	  if p[0] =~ '\.\.'
+- 	    let end = ('0x' . substitute(p[0], '.*\.\.', '', '')) + 0
+- 	  else
+- 	    let end = n
+- 	  endif
+  	endif
+        endif
+      endif
+    endfor
+--- 216,238 ----
+  	endif
+  	let dataidx += 1
+        endwhile
+!       if dn != n && n_last == n
+  	echoerr "Cannot find character " . n . " in data table"
+        endif
+        " Only use the char when it's not a composing char.
++       " But use all chars from a range.
+        let dp = s:dataprops[dataidx]
+!       if n_last > n || (dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me')
+  	if start >= 0 && end + 1 == n
+  	  " continue with same range.
+  	else
+  	  if start >= 0
+  	    " produce previous range
+  	    call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end))
+  	  endif
+  	  let start = n
+  	endif
++ 	let end = n_last
+        endif
+      endif
+    endfor
+***************
+*** 235,242 ****
+  
+    " New buffer to put the result in.
+    new
+!   file ambiguous
+!   call setline(1, "    static struct interval ambiguous[] =")
+    call setline(2, "    {")
+    call append('$', ranges)
+    call setline('$', getline('$')[:-2])  " remove last comma
+--- 242,249 ----
+  
+    " New buffer to put the result in.
+    new
+!   exe "file " . a:tableName
+!   call setline(1, "    static struct interval " . a:tableName . "[] =")
+    call setline(2, "    {")
+    call append('$', ranges)
+    call setline('$', getline('$')[:-2])  " remove last comma
+***************
+*** 276,280 ****
+  " Parse each line, create a list of lists.
+  call ParseWidthProps()
+  
+! " Build the ambiguous table.
+! call BuildAmbiguousTable()
+--- 283,290 ----
+  " Parse each line, create a list of lists.
+  call ParseWidthProps()
+  
+! " Build the double width table.
+! call BuildWidthTable('[WF]', 'doublewidth')
+! 
+! " Build the ambiguous width table.
+! call BuildWidthTable('A', 'ambiguous')
+*** ../vim-7.2.347/src/mbyte.c	2010-01-12 19:48:57.000000000 +0100
+--- src/mbyte.c	2010-01-27 18:06:35.000000000 +0100
+***************
+*** 1200,1205 ****
+--- 1200,1248 ----
+  utf_char2cells(c)
+      int		c;
+  {
++     /* Sorted list of non-overlapping intervals of East Asian double width
++      * characters, generated with ../runtime/tools/unicode.vim. */
++     static struct interval doublewidth[] =
++     {
++ 	{0x1100, 0x115f},
++ 	{0x11a3, 0x11a7},
++ 	{0x11fa, 0x11ff},
++ 	{0x2329, 0x232a},
++ 	{0x2e80, 0x2e99},
++ 	{0x2e9b, 0x2ef3},
++ 	{0x2f00, 0x2fd5},
++ 	{0x2ff0, 0x2ffb},
++ 	{0x3000, 0x3029},
++ 	{0x3030, 0x303e},
++ 	{0x3041, 0x3096},
++ 	{0x309b, 0x30ff},
++ 	{0x3105, 0x312d},
++ 	{0x3131, 0x318e},
++ 	{0x3190, 0x31b7},
++ 	{0x31c0, 0x31e3},
++ 	{0x31f0, 0x321e},
++ 	{0x3220, 0x3247},
++ 	{0x3250, 0x32fe},
++ 	{0x3300, 0x4dbf},
++ 	{0x4e00, 0xa48c},
++ 	{0xa490, 0xa4c6},
++ 	{0xa960, 0xa97c},
++ 	{0xac00, 0xd7a3},
++ 	{0xd7b0, 0xd7c6},
++ 	{0xd7cb, 0xd7fb},
++ 	{0xf900, 0xfaff},
++ 	{0xfe10, 0xfe19},
++ 	{0xfe30, 0xfe52},
++ 	{0xfe54, 0xfe66},
++ 	{0xfe68, 0xfe6b},
++ 	{0xff01, 0xff60},
++ 	{0xffe0, 0xffe6},
++ 	{0x1f200, 0x1f200},
++ 	{0x1f210, 0x1f231},
++ 	{0x1f240, 0x1f248},
++ 	{0x20000, 0x2fffd},
++ 	{0x30000, 0x3fffd}
++     };
+      /* Sorted list of non-overlapping intervals of East Asian Ambiguous
+       * characters, generated with ../runtime/tools/unicode.vim. */
+      static struct interval ambiguous[] =
+***************
+*** 1403,1422 ****
+  #else
+  	if (!utf_printable(c))
+  	    return 6;		/* unprintable, displays <xxxx> */
+! 	if (c >= 0x1100
+! 	    && (c <= 0x115f			/* Hangul Jamo */
+! 		|| c == 0x2329
+! 		|| c == 0x232a
+! 		|| (c >= 0x2e80 && c <= 0xa4cf
+! 		    && c != 0x303f)		/* CJK ... Yi */
+! 		|| (c >= 0xac00 && c <= 0xd7a3)	/* Hangul Syllables */
+! 		|| (c >= 0xf900 && c <= 0xfaff)	/* CJK Compatibility
+! 						   Ideographs */
+! 		|| (c >= 0xfe30 && c <= 0xfe6f)	/* CJK Compatibility Forms */
+! 		|| (c >= 0xff00 && c <= 0xff60)	/* Fullwidth Forms */
+! 		|| (c >= 0xffe0 && c <= 0xffe6)
+! 		|| (c >= 0x20000 && c <= 0x2fffd)
+! 		|| (c >= 0x30000 && c <= 0x3fffd)))
+  	    return 2;
+  #endif
+      }
+--- 1446,1452 ----
+  #else
+  	if (!utf_printable(c))
+  	    return 6;		/* unprintable, displays <xxxx> */
+! 	if (intable(doublewidth, sizeof(doublewidth), c))
+  	    return 2;
+  #endif
+      }
+*** ../vim-7.2.347/src/version.c	2010-01-27 17:31:38.000000000 +0100
+--- src/version.c	2010-01-27 18:25:50.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     348,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+157. You fum through a magazine, you first check to see if it has a web
+     address.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

================================================================
Index: packages/vim/7.2.349
diff -u /dev/null packages/vim/7.2.349:1.1
--- /dev/null	Tue Feb  9 09:20:49 2010
+++ packages/vim/7.2.349	Tue Feb  9 09:20:43 2010
@@ -0,0 +1,53 @@
+To: vim-dev at vim.org
+Subject: Patch 7.2.349
+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.2.349
+Problem:    CTRL-W gf doesn't put the new tab in the same place as "tab split"
+	    and "gf". (Tony Mechelynck)
+Solution:   Store the tab number in cmdmod.tab.
+Files:	    src/window.c
+
+
+*** ../vim-7.2.348/src/window.c	2009-06-24 17:31:27.000000000 +0200
+--- src/window.c	2010-01-27 20:23:22.000000000 +0100
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list