diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-01-30 18:09:06 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-01-30 18:09:06 +0100 |
commit | f8c6a1718007432812184c28495e8d27ee6c0395 (patch) | |
tree | 301e5a7b0b80b406610881f02be24c3460674d5b | |
parent | 59ff64079b4fcf0393a7413e3242a8b58c2ceadb (diff) |
patch 8.2.2430: :vimgrep expands wildcards twicev8.2.2430
Problem: :vimgrep expands wildcards twice.
Solution: Do not expand wildcards a second time.
-rw-r--r-- | src/arglist.c | 4 | ||||
-rw-r--r-- | src/quickfix.c | 2 | ||||
-rw-r--r-- | src/testdir/test_quickfix.vim | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 12 insertions, 3 deletions
diff --git a/src/arglist.c b/src/arglist.c index 117116cd5d..503cbd90df 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 f22d2bf3cd..742a1ee713 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 1799f2990b..6826acfd05 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 52fa663997..56a0797562 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2430, +/**/ 2429, /**/ 2428, |