diff --git a/src/cmdexpand.c b/src/cmdexpand.c index a4eae117cb..e354c4a356 100644 --- a/src/cmdexpand.c +++ b/src/cmdexpand.c @@ -4542,6 +4542,8 @@ f_getcompltype(typval_T *argvars, typval_T *rettv) return; pat = tv_get_string(&argvars[0]); + if (check_for_string_arg(argvars, 0) == FAIL) + return; ExpandInit(&xpc); diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 22efd45dd7..1ecf7ce19e 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -4591,6 +4591,7 @@ func Test_range_complete() endfunc func Test_getcompltype() + call assert_fails('call getcompltype({})', 'E731:') call assert_equal(getcompltype(''), 'command') call assert_equal(getcompltype('dummy '), '') call assert_equal(getcompltype('cd '), 'dir_in_path')