summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-30 18:09:06 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-30 18:09:06 +0100
commitf8c6a1718007432812184c28495e8d27ee6c0395 (patch)
tree301e5a7b0b80b406610881f02be24c3460674d5b /src
parent59ff64079b4fcf0393a7413e3242a8b58c2ceadb (diff)
patch 8.2.2430: :vimgrep expands wildcards twicev8.2.2430
Problem: :vimgrep expands wildcards twice. Solution: Do not expand wildcards a second time.
Diffstat (limited to 'src')
-rw-r--r--src/arglist.c4
-rw-r--r--src/quickfix.c2
-rw-r--r--src/testdir/test_quickfix.vim7
-rw-r--r--src/version.c2
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,