Blob Blame History Raw
To: vim_dev@googlegroups.com
Subject: Patch 7.3.075
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.075 (after 7.3.072)
Problem:    Missing part of 'wildignorecase'
Solution:   Also adjust expand()
Files:	    src/eval.c


*** ../vim-7.3.074/src/eval.c	2010-12-02 21:43:10.000000000 +0100
--- src/eval.c	2010-12-02 17:30:23.000000000 +0100
***************
*** 9876,9882 ****
      char_u	*s;
      int		len;
      char_u	*errormsg;
!     int		flags = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
      expand_T	xpc;
      int		error = FALSE;
  
--- 9876,9882 ----
      char_u	*s;
      int		len;
      char_u	*errormsg;
!     int		options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
      expand_T	xpc;
      int		error = FALSE;
  
***************
*** 9894,9905 ****
  	 * for 'wildignore' and don't put matches for 'suffixes' at the end. */
  	if (argvars[1].v_type != VAR_UNKNOWN
  				    && get_tv_number_chk(&argvars[1], &error))
! 	    flags |= WILD_KEEP_ALL;
  	if (!error)
  	{
  	    ExpandInit(&xpc);
  	    xpc.xp_context = EXPAND_FILES;
! 	    rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL);
  	}
  	else
  	    rettv->vval.v_string = NULL;
--- 9894,9907 ----
  	 * for 'wildignore' and don't put matches for 'suffixes' at the end. */
  	if (argvars[1].v_type != VAR_UNKNOWN
  				    && get_tv_number_chk(&argvars[1], &error))
! 	    options |= WILD_KEEP_ALL;
  	if (!error)
  	{
  	    ExpandInit(&xpc);
  	    xpc.xp_context = EXPAND_FILES;
! 	    if (p_wic)
! 		options += WILD_ICASE;
! 	    rettv->vval.v_string = ExpandOne(&xpc, s, NULL, options, WILD_ALL);
  	}
  	else
  	    rettv->vval.v_string = NULL;
***************
*** 11672,11678 ****
      typval_T	*argvars;
      typval_T	*rettv;
  {
!     int		flags = WILD_SILENT|WILD_USE_NL;
      expand_T	xpc;
      int		error = FALSE;
  
--- 11674,11680 ----
      typval_T	*argvars;
      typval_T	*rettv;
  {
!     int		options = WILD_SILENT|WILD_USE_NL;
      expand_T	xpc;
      int		error = FALSE;
  
***************
*** 11680,11693 ****
      * for 'wildignore' and don't put matches for 'suffixes' at the end. */
      if (argvars[1].v_type != VAR_UNKNOWN
  				&& get_tv_number_chk(&argvars[1], &error))
! 	flags |= WILD_KEEP_ALL;
      rettv->v_type = VAR_STRING;
      if (!error)
      {
  	ExpandInit(&xpc);
  	xpc.xp_context = EXPAND_FILES;
  	rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
! 						       NULL, flags, WILD_ALL);
      }
      else
  	rettv->vval.v_string = NULL;
--- 11682,11697 ----
      * for 'wildignore' and don't put matches for 'suffixes' at the end. */
      if (argvars[1].v_type != VAR_UNKNOWN
  				&& get_tv_number_chk(&argvars[1], &error))
! 	options |= WILD_KEEP_ALL;
      rettv->v_type = VAR_STRING;
      if (!error)
      {
  	ExpandInit(&xpc);
  	xpc.xp_context = EXPAND_FILES;
+ 	if (p_wic)
+ 	    options += WILD_ICASE;
  	rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
! 						     NULL, options, WILD_ALL);
      }
      else
  	rettv->vval.v_string = NULL;
*** ../vim-7.3.074/src/version.c	2010-12-02 21:43:10.000000000 +0100
--- src/version.c	2010-12-02 21:43:59.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     75,
  /**/

-- 
Engineers will go without food and hygiene for days to solve a problem.
(Other times just because they forgot.)
				(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- Bram@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    ///