d7f2101
To: vim-dev@vim.org
d7f2101
Subject: Patch 7.1.222
d7f2101
Fcc: outbox
d7f2101
From: Bram Moolenaar <Bram@moolenaar.net>
d7f2101
Mime-Version: 1.0
d7f2101
Content-Type: text/plain; charset=ISO-8859-1
d7f2101
Content-Transfer-Encoding: 8bit
d7f2101
------------
d7f2101
d7f2101
Patch 7.1.222 (after 7.1.217)
d7f2101
Problem:    Wildcards in argument of ":helptags" are not expanded.  (Marcel
d7f2101
	    Svitalsky)
d7f2101
Solution:   Expand wildcards in the directory name.
d7f2101
Files:	    src/ex_cmds.c
d7f2101
d7f2101
d7f2101
*** ../vim-7.1.221/src/ex_cmds.c	Fri Jan 11 21:00:49 2008
d7f2101
--- src/ex_cmds.c	Sat Jan 12 21:40:51 2008
d7f2101
***************
d7f2101
*** 6106,6111 ****
d7f2101
--- 6106,6113 ----
d7f2101
  #ifdef FEAT_MULTI_LANG
d7f2101
      char_u	lang[2];
d7f2101
  #endif
d7f2101
+     expand_T	xpc;
d7f2101
+     char_u	*dirname;
d7f2101
      char_u	ext[5];
d7f2101
      char_u	fname[8];
d7f2101
      int		filecount;
d7f2101
***************
d7f2101
*** 6119,6125 ****
d7f2101
  	eap->arg = skipwhite(eap->arg + 3);
d7f2101
      }
d7f2101
  
d7f2101
!     if (!mch_isdir(eap->arg))
d7f2101
      {
d7f2101
  	EMSG2(_("E150: Not a directory: %s"), eap->arg);
d7f2101
  	return;
d7f2101
--- 6121,6131 ----
d7f2101
  	eap->arg = skipwhite(eap->arg + 3);
d7f2101
      }
d7f2101
  
d7f2101
!     ExpandInit(&xpc);
d7f2101
!     xpc.xp_context = EXPAND_DIRECTORIES;
d7f2101
!     dirname = ExpandOne(&xpc, eap->arg, NULL,
d7f2101
! 			    WILD_LIST_NOTFOUND|WILD_SILENT, WILD_EXPAND_FREE);
d7f2101
!     if (dirname == NULL || !mch_isdir(dirname))
d7f2101
      {
d7f2101
  	EMSG2(_("E150: Not a directory: %s"), eap->arg);
d7f2101
  	return;
d7f2101
***************
d7f2101
*** 6127,6133 ****
d7f2101
  
d7f2101
  #ifdef FEAT_MULTI_LANG
d7f2101
      /* Get a list of all files in the directory. */
d7f2101
!     STRCPY(NameBuff, eap->arg);
d7f2101
      add_pathsep(NameBuff);
d7f2101
      STRCAT(NameBuff, "*");
d7f2101
      if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
d7f2101
--- 6133,6139 ----
d7f2101
  
d7f2101
  #ifdef FEAT_MULTI_LANG
d7f2101
      /* Get a list of all files in the directory. */
d7f2101
!     STRCPY(NameBuff, dirname);
d7f2101
      add_pathsep(NameBuff);
d7f2101
      STRCAT(NameBuff, "*");
d7f2101
      if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
d7f2101
***************
d7f2101
*** 6135,6140 ****
d7f2101
--- 6141,6147 ----
d7f2101
  	    || filecount == 0)
d7f2101
      {
d7f2101
  	EMSG2("E151: No match: %s", NameBuff);
d7f2101
+ 	vim_free(dirname);
d7f2101
  	return;
d7f2101
      }
d7f2101
  
d7f2101
***************
d7f2101
*** 6200,6206 ****
d7f2101
  	    ext[1] = fname[5];
d7f2101
  	    ext[2] = fname[6];
d7f2101
  	}
d7f2101
! 	helptags_one(eap->arg, ext, fname, add_help_tags);
d7f2101
      }
d7f2101
  
d7f2101
      ga_clear(&ga);
d7f2101
--- 6207,6213 ----
d7f2101
  	    ext[1] = fname[5];
d7f2101
  	    ext[2] = fname[6];
d7f2101
  	}
d7f2101
! 	helptags_one(dirname, ext, fname, add_help_tags);
d7f2101
      }
d7f2101
  
d7f2101
      ga_clear(&ga);
d7f2101
***************
d7f2101
*** 6208,6215 ****
d7f2101
  
d7f2101
  #else
d7f2101
      /* No language support, just use "*.txt" and "tags". */
d7f2101
!     helptags_one(eap->arg, (char_u *)".txt", (char_u *)"tags", add_help_tags);
d7f2101
  #endif
d7f2101
  }
d7f2101
  
d7f2101
      static void
d7f2101
--- 6215,6223 ----
d7f2101
  
d7f2101
  #else
d7f2101
      /* No language support, just use "*.txt" and "tags". */
d7f2101
!     helptags_one(dirname, (char_u *)".txt", (char_u *)"tags", add_help_tags);
d7f2101
  #endif
d7f2101
+     vim_free(dirname);
d7f2101
  }
d7f2101
  
d7f2101
      static void
d7f2101
*** ../vim-7.1.221/src/version.c	Sat Jan 12 18:13:05 2008
d7f2101
--- src/version.c	Sun Jan 13 13:27:04 2008
d7f2101
***************
d7f2101
*** 668,669 ****
d7f2101
--- 668,671 ----
d7f2101
  {   /* Add new patch number below this line */
d7f2101
+ /**/
d7f2101
+     222,
d7f2101
  /**/
d7f2101
d7f2101
-- 
d7f2101
   Arthur pulls Pin out.  The MONK blesses the grenade as ...
d7f2101
ARTHUR:  (quietly) One, two, five ...
d7f2101
GALAHAD: Three, sir!
d7f2101
ARTHUR:  Three.
d7f2101
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
d7f2101
d7f2101
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
d7f2101
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
d7f2101
\\\        download, build and distribute -- http://www.A-A-P.org        ///
d7f2101
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///