From: Bram Moolenaar Date: Sat, 30 Jan 2021 17:09:06 +0000 (+0100) Subject: patch 8.2.2430: :vimgrep expands wildcards twice X-Git-Tag: v8.2.2430 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8c6a1718007432812184c28495e8d27ee6c0395;p=vim patch 8.2.2430: :vimgrep expands wildcards twice Problem: :vimgrep expands wildcards twice. Solution: Do not expand wildcards a second time. --- diff --git a/src/arglist.c b/src/arglist.c index 117116cd5..503cbd90d 100644 --- a/src/arglist.c +++ b/src/arglist.c @@ -315,10 +315,10 @@ get_arglist_exp( return FAIL; if (wig == TRUE) i = expand_wildcards(ga.ga_len, (char_u **)ga.ga_data, - fcountp, fnamesp, EW_FILE|EW_NOTFOUND); + fcountp, fnamesp, EW_FILE|EW_NOTFOUND|EW_NOTWILD); else i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data, - fcountp, fnamesp, EW_FILE|EW_NOTFOUND); + fcountp, fnamesp, EW_FILE|EW_NOTFOUND|EW_NOTWILD); ga_clear(&ga); return i; diff --git a/src/quickfix.c b/src/quickfix.c index f22d2bf3c..742a1ee71 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -6053,7 +6053,7 @@ vgr_process_args( return FAIL; } - // parse the list of arguments + // Parse the list of arguments, wildcards have already been expanded. if (get_arglist_exp(p, &args->fcount, &args->fnames, TRUE) == FAIL) return FAIL; if (args->fcount == 0) diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index 1799f2990..6826acfd0 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -2865,6 +2865,13 @@ func Test_vimgrep() call XvimgrepTests('l') endfunc +func Test_vimgrep_wildcards_expanded_once() + new X[id-01] file.txt + call setline(1, 'some text to search for') + vimgrep text % + bwipe! +endfunc + " Test for incsearch highlighting of the :vimgrep pattern " This test used to cause "E315: ml_get: invalid lnum" errors. func Test_vimgrep_incsearch() diff --git a/src/version.c b/src/version.c index 52fa66399..56a079756 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2430, /**/ 2429, /**/