diff --git a/src/evalfunc.c b/src/evalfunc.c index 771e393db6..69f7816329 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -2434,7 +2434,7 @@ f_expand(typval_T *argvars, typval_T *rettv) rettv->v_type = VAR_STRING; if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN - && tv_get_number_chk(&argvars[2], &error) + && tv_get_bool_chk(&argvars[2], &error) && !error) rettv_list_set(rettv, NULL); @@ -2458,7 +2458,7 @@ f_expand(typval_T *argvars, typval_T *rettv) // When the optional second argument is non-zero, don't remove matches // for 'wildignore' and don't put matches for 'suffixes' at the end. if (argvars[1].v_type != VAR_UNKNOWN - && tv_get_number_chk(&argvars[1], &error)) + && tv_get_bool_chk(&argvars[1], &error)) options |= WILD_KEEP_ALL; if (!error) { diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 8f4928ac0e..cf48ba8660 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1497,6 +1497,12 @@ def Test_count() assert_equal(0, count('ABC ABC ABC', 'b', false)) enddef +def Test_expand() + split SomeFile + assert_equal(['SomeFile'], expand('%', true, true)) + close +enddef + def Test_recursive_call() assert_equal(6765, Fibonacci(20)) enddef diff --git a/src/version.c b/src/version.c index 9399221cd5..c674148ee1 100644 --- 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 */ +/**/ + 1572, /**/ 1571, /**/