components/vim/vim72-patches/7.2.439
changeset 379 c6a17bba1da3
parent 378 f0b61ed1d10d
child 380 e92b3b4a1c66
--- a/components/vim/vim72-patches/7.2.439	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-To: [email protected]
-Subject: Patch 7.2.439
-Fcc: outbox
-From: Bram Moolenaar <[email protected]>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.439
-Problem:    Invalid memory access when doing thesaurus completion and
-	    'infercase' is set.
-Solution:   Use the minimal length of completed word and replacement.
-	    (Dominique Pelle)
-Files:	    src/edit.c
-
-
-*** ../vim-7.2.438/src/edit.c	2010-03-10 14:15:28.000000000 +0100
---- src/edit.c	2010-05-28 21:20:29.000000000 +0200
-***************
-*** 2164,2169 ****
---- 2164,2170 ----
-      int		i, c;
-      int		actual_len;		/* Take multi-byte characters */
-      int		actual_compl_length;	/* into account. */
-+     int		min_len;
-      int		*wca;			/* Wide character array. */
-      int		has_lower = FALSE;
-      int		was_letter = FALSE;
-***************
-*** 2204,2209 ****
---- 2205,2215 ----
-  #endif
-  	    actual_compl_length = compl_length;
-  
-+ 	/* "actual_len" may be smaller than "actual_compl_length" when using
-+ 	 * thesaurus, only use the minimum when comparing. */
-+ 	min_len = actual_len < actual_compl_length
-+ 					   ? actual_len : actual_compl_length;
-+ 
-  	/* Allocate wide character array for the completion and fill it. */
-  	wca = (int *)alloc((unsigned)(actual_len * sizeof(int)));
-  	if (wca != NULL)
-***************
-*** 2219,2225 ****
-  
-  	    /* Rule 1: Were any chars converted to lower? */
-  	    p = compl_orig_text;
-! 	    for (i = 0; i < actual_compl_length; ++i)
-  	    {
-  #ifdef FEAT_MBYTE
-  		if (has_mbyte)
---- 2225,2231 ----
-  
-  	    /* Rule 1: Were any chars converted to lower? */
-  	    p = compl_orig_text;
-! 	    for (i = 0; i < min_len; ++i)
-  	    {
-  #ifdef FEAT_MBYTE
-  		if (has_mbyte)
-***************
-*** 2247,2253 ****
-  	    if (!has_lower)
-  	    {
-  		p = compl_orig_text;
-! 		for (i = 0; i < actual_compl_length; ++i)
-  		{
-  #ifdef FEAT_MBYTE
-  		    if (has_mbyte)
---- 2253,2259 ----
-  	    if (!has_lower)
-  	    {
-  		p = compl_orig_text;
-! 		for (i = 0; i < min_len; ++i)
-  		{
-  #ifdef FEAT_MBYTE
-  		    if (has_mbyte)
-***************
-*** 2268,2274 ****
-  
-  	    /* Copy the original case of the part we typed. */
-  	    p = compl_orig_text;
-! 	    for (i = 0; i < actual_compl_length; ++i)
-  	    {
-  #ifdef FEAT_MBYTE
-  		if (has_mbyte)
---- 2274,2280 ----
-  
-  	    /* Copy the original case of the part we typed. */
-  	    p = compl_orig_text;
-! 	    for (i = 0; i < min_len; ++i)
-  	    {
-  #ifdef FEAT_MBYTE
-  		if (has_mbyte)
-*** ../vim-7.2.438/src/version.c	2010-05-25 21:37:12.000000000 +0200
---- src/version.c	2010-05-28 21:30:53.000000000 +0200
-***************
-*** 683,684 ****
---- 683,686 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     439,
-  /**/
-
--- 
-Corduroy pillows: They're making headlines!
-
- /// Bram Moolenaar -- [email protected] -- 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    ///