forked from aniani/vim
updated for version 7.3.570
Problem: ":vimgrep" does not obey 'wildignore'. Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
This commit is contained in:
parent
db91395312
commit
8f5c6f003a
@ -1850,22 +1850,28 @@ get_arglist(gap, str)
|
||||
#if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
|
||||
/*
|
||||
* Parse a list of arguments (file names), expand them and return in
|
||||
* "fnames[fcountp]".
|
||||
* "fnames[fcountp]". When "wig" is TRUE, removes files matching 'wildignore'.
|
||||
* Return FAIL or OK.
|
||||
*/
|
||||
int
|
||||
get_arglist_exp(str, fcountp, fnamesp)
|
||||
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;
|
||||
i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
|
||||
fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
|
||||
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;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ int check_changed_any __ARGS((int hidden));
|
||||
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 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));
|
||||
|
@ -3189,7 +3189,7 @@ ex_vimgrep(eap)
|
||||
;
|
||||
|
||||
/* parse the list of arguments */
|
||||
if (get_arglist_exp(p, &fcount, &fnames) == FAIL)
|
||||
if (get_arglist_exp(p, &fcount, &fnames, TRUE) == FAIL)
|
||||
goto theend;
|
||||
if (fcount == 0)
|
||||
{
|
||||
|
@ -8553,7 +8553,7 @@ ex_mkspell(eap)
|
||||
}
|
||||
|
||||
/* Expand all the remaining arguments (e.g., $VIMRUNTIME). */
|
||||
if (get_arglist_exp(arg, &fcount, &fnames) == OK)
|
||||
if (get_arglist_exp(arg, &fcount, &fnames, FALSE) == OK)
|
||||
{
|
||||
mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
|
||||
FreeWild(fcount, fnames);
|
||||
|
@ -714,6 +714,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
570,
|
||||
/**/
|
||||
569,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user