summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/evalfunc.c8
-rw-r--r--src/testdir/test_vim9_func.vim4
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 4 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 2a8281230..e74a82a91 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -6876,8 +6876,8 @@ f_search(typval_T *argvars, typval_T *rettv)
static void
f_searchdecl(typval_T *argvars, typval_T *rettv)
{
- int locally = 1;
- int thisblock = 0;
+ int locally = TRUE;
+ int thisblock = FALSE;
int error = FALSE;
char_u *name;
@@ -6886,9 +6886,9 @@ f_searchdecl(typval_T *argvars, typval_T *rettv)
name = tv_get_string_chk(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
- locally = (int)tv_get_number_chk(&argvars[1], &error) == 0;
+ locally = !(int)tv_get_bool_chk(&argvars[1], &error);
if (!error && argvars[2].v_type != VAR_UNKNOWN)
- thisblock = (int)tv_get_number_chk(&argvars[2], &error) != 0;
+ thisblock = (int)tv_get_bool_chk(&argvars[2], &error);
}
if (!error && name != NULL)
rettv->vval.v_number = find_decl(name, (int)STRLEN(name),
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 6aa9f365a..24377b289 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1547,6 +1547,10 @@ def Test_searchcount()
bwipe!
enddef
+def Test_searchdecl()
+ assert_equal(1, searchdecl('blah', true, true))
+enddef
+
def Fibonacci(n: number): number
if n < 2
return n
diff --git a/src/version.c b/src/version.c
index 750e2874a..0cce5b232 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1615,
+/**/
1614,
/**/
1613,