090ad3a
To: vim-dev@vim.org
090ad3a
Subject: Patch 7.0.061
090ad3a
Fcc: outbox
090ad3a
From: Bram Moolenaar <Bram@moolenaar.net>
090ad3a
Mime-Version: 1.0
090ad3a
Content-Type: text/plain; charset=ISO-8859-1
090ad3a
Content-Transfer-Encoding: 8bit
090ad3a
------------
090ad3a
090ad3a
Patch 7.0.061
090ad3a
Problem:    Insert mode completion for Vim commands may crash if there is
090ad3a
	    nothing to complete.
090ad3a
Solution:   Instead of freeing the pattern make it empty, so that a "not
090ad3a
	    found" error is given. (Yukihiro Nakadaira)
090ad3a
Files:	    src/edit.c
090ad3a
090ad3a
090ad3a
*** ../vim-7.0.060/src/edit.c	Wed Aug 16 16:24:58 2006
090ad3a
--- src/edit.c	Wed Aug 16 21:20:29 2006
090ad3a
***************
090ad3a
*** 4691,4708 ****
090ad3a
  				     (int)STRLEN(compl_pattern), curs_col);
090ad3a
  	    if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL
090ad3a
  		    || compl_xp.xp_context == EXPAND_NOTHING)
090ad3a
! 	    {
090ad3a
  		compl_col = curs_col;
090ad3a
- 		compl_length = 0;
090ad3a
- 		vim_free(compl_pattern);
090ad3a
- 		compl_pattern = NULL;
090ad3a
- 	    }
090ad3a
  	    else
090ad3a
! 	    {
090ad3a
! 		startcol = (int)(compl_xp.xp_pattern - compl_pattern);
090ad3a
! 		compl_col = startcol;
090ad3a
! 		compl_length = curs_col - startcol;
090ad3a
! 	    }
090ad3a
  	}
090ad3a
  	else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
090ad3a
  	{
090ad3a
--- 4692,4703 ----
090ad3a
  				     (int)STRLEN(compl_pattern), curs_col);
090ad3a
  	    if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL
090ad3a
  		    || compl_xp.xp_context == EXPAND_NOTHING)
090ad3a
! 		/* No completion possible, use an empty pattern to get a
090ad3a
! 		 * "pattern not found" message. */
090ad3a
  		compl_col = curs_col;
090ad3a
  	    else
090ad3a
! 		compl_col = (int)(compl_xp.xp_pattern - compl_pattern);
090ad3a
! 	    compl_length = curs_col - compl_col;
090ad3a
  	}
090ad3a
  	else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
090ad3a
  	{
090ad3a
*** ../vim-7.0.060/src/version.c	Wed Aug 16 19:34:59 2006
090ad3a
--- src/version.c	Wed Aug 16 21:25:03 2006
090ad3a
***************
090ad3a
*** 668,669 ****
090ad3a
--- 668,671 ----
090ad3a
  {   /* Add new patch number below this line */
090ad3a
+ /**/
090ad3a
+     61,
090ad3a
  /**/
090ad3a
090ad3a
-- 
090ad3a
hundred-and-one symptoms of being an internet addict:
090ad3a
165. You have a web page burned into your glasses
090ad3a
090ad3a
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
090ad3a
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
090ad3a
\\\        download, build and distribute -- http://www.A-A-P.org        ///
090ad3a
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///