diff --git a/src/evalfunc.c b/src/evalfunc.c index aefb1bf4b1..9e384da494 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -4763,7 +4763,7 @@ f_has(typval_T *argvars, typval_T *rettv) } } - if (argvars[1].v_type != VAR_UNKNOWN && tv_get_number(&argvars[1]) != 0) + if (argvars[1].v_type != VAR_UNKNOWN && tv_get_bool(&argvars[1])) // return whether feature could ever be enabled rettv->vval.v_number = x; else diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index eb608c51e8..dcc8087f4d 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1516,6 +1516,10 @@ def Test_getcompletion() set wildignore& enddef +def Test_has() + assert_equal(1, has('eval', true)) +enddef + def Fibonacci(n: number): number if n < 2 return n diff --git a/src/version.c b/src/version.c index 69aececd0f..70f736d15e 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 */ +/**/ + 1606, /**/ 1605, /**/