changeset 26364:baf0d27eb024 v8.2.3713

patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching Commit: https://github.com/vim/vim/commit/0b226f60be5c30c32fb01fc0b6dc11286e7e2313 Author: Christian Brabandt <cb@256bit.org> Date: Wed Dec 1 10:54:24 2021 +0000 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching Problem: MS-Windows: No error message if vimgrep pattern is not matching. Solution: Give an error message. (Christian Brabandt, closes https://github.com/vim/vim/issues/9245, closes #8762)
author Bram Moolenaar <Bram@vim.org>
date Wed, 01 Dec 2021 12:00:05 +0100
parents 44a6acdbdbfe
children 9722ad38bd53
files src/quickfix.c src/testdir/test_quickfix.vim src/version.c
diffstat 3 files changed, 19 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -6122,9 +6122,8 @@ vgr_process_args(
     }
 
     // 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)
+    if ((get_arglist_exp(p, &args->fcount, &args->fnames, TRUE) == FAIL) ||
+	args->fcount == 0)
     {
 	emsg(_(e_nomatch));
 	return FAIL;
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -5621,4 +5621,19 @@ func Test_win_gettype()
   lclose
 endfunc
 
+fun Test_vimgrep_nomatch()
+  call XexprTests('c')
+  call g:Xsetlist([{'lnum':10,'text':'Line1'}])
+  copen
+  if has("win32")
+    call assert_fails('vimgrep foo *.zzz', 'E479:')
+    let expected = [{'lnum': 10, 'bufnr': 0, 'end_lnum': 0, 'pattern': '', 'valid': 0, 'vcol': 0, 'nr': 0, 'module': '', 'type': '', 'end_col': 0, 'col': 0, 'text': 'Line1'}]
+  else
+    call assert_fails('vimgrep foo *.zzz', 'E480:')
+    let expected = []
+  endif
+  call assert_equal(expected, getqflist())
+  cclose
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3713,
+/**/
     3712,
 /**/
     3711,