To: vim_dev@googlegroups.com
Subject: Patch 7.3.570
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.570
Problem: ":vimgrep" does not obey 'wildignore'.
Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c
*** ../vim-7.3.569/src/ex_cmds2.c 2012-06-20 15:48:53.000000000 +0200
--- src/ex_cmds2.c 2012-06-29 12:43:34.000000000 +0200
***************
*** 1850,1871 ****
#if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
/*
* Parse a list of arguments (file names), expand them and return in
! * "fnames[fcountp]".
* Return FAIL or OK.
*/
int
! get_arglist_exp(str, fcountp, fnamesp)
char_u *str;
int *fcountp;
char_u ***fnamesp;
{
garray_T ga;
int i;
if (get_arglist(&ga, str) == FAIL)
return FAIL;
! i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
! fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
ga_clear(&ga);
return i;
}
--- 1850,1877 ----
#if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
/*
* Parse a list of arguments (file names), expand them and return in
! * "fnames[fcountp]". When "wig" is TRUE, removes files matching 'wildignore'.
* Return FAIL or OK.
*/
int
! get_arglist_exp(str, fcountp, fnamesp, wig)
char_u *str;
int *fcountp;
char_u ***fnamesp;
+ int wig;
{
garray_T ga;
int i;
if (get_arglist(&ga, str) == FAIL)
return FAIL;
! if (wig == TRUE)
! i = expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
! fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
! else
! i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
! fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
!
ga_clear(&ga);
return i;
}
*** ../vim-7.3.569/src/proto/ex_cmds2.pro 2011-05-19 18:26:34.000000000 +0200
--- src/proto/ex_cmds2.pro 2012-06-29 12:43:49.000000000 +0200
***************
*** 42,48 ****
int check_fname __ARGS((void));
int buf_write_all __ARGS((buf_T *buf, int forceit));
int get_arglist __ARGS((garray_T *gap, char_u *str));
! int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp));
void set_arglist __ARGS((char_u *str));
void check_arg_idx __ARGS((win_T *win));
void ex_args __ARGS((exarg_T *eap));
--- 42,48 ----
int check_fname __ARGS((void));
int buf_write_all __ARGS((buf_T *buf, int forceit));
int get_arglist __ARGS((garray_T *gap, char_u *str));
! int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp, int wig));
void set_arglist __ARGS((char_u *str));
void check_arg_idx __ARGS((win_T *win));
void ex_args __ARGS((exarg_T *eap));
*** ../vim-7.3.569/src/quickfix.c 2012-06-01 18:34:37.000000000 +0200
--- src/quickfix.c 2012-06-29 12:43:49.000000000 +0200
***************
*** 3189,3195 ****
;
/* parse the list of arguments */
! if (get_arglist_exp(p, &fcount, &fnames) == FAIL)
goto theend;
if (fcount == 0)
{
--- 3189,3195 ----
;
/* parse the list of arguments */
! if (get_arglist_exp(p, &fcount, &fnames, TRUE) == FAIL)
goto theend;
if (fcount == 0)
{
*** ../vim-7.3.569/src/spell.c 2012-06-01 17:49:51.000000000 +0200
--- src/spell.c 2012-06-29 12:43:49.000000000 +0200
***************
*** 8553,8559 ****
}
/* Expand all the remaining arguments (e.g., $VIMRUNTIME). */
! if (get_arglist_exp(arg, &fcount, &fnames) == OK)
{
mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
FreeWild(fcount, fnames);
--- 8553,8559 ----
}
/* Expand all the remaining arguments (e.g., $VIMRUNTIME). */
! if (get_arglist_exp(arg, &fcount, &fnames, FALSE) == OK)
{
mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
FreeWild(fcount, fnames);
*** ../vim-7.3.569/src/version.c 2012-06-29 12:54:32.000000000 +0200
--- src/version.c 2012-06-29 12:56:12.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 570,
/**/
--
hundred-and-one symptoms of being an internet addict:
70. ISDN lines are added to your house on a hourly basis
/// 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 ///