aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/digraph.c10
-rw-r--r--test/old/testdir/test_digraph.vim4
2 files changed, 8 insertions, 6 deletions
diff --git a/src/nvim/digraph.c b/src/nvim/digraph.c
index ea0d1ba708..4d40455507 100644
--- a/src/nvim/digraph.c
+++ b/src/nvim/digraph.c
@@ -1954,16 +1954,16 @@ void f_digraph_get(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
/// "digraph_getlist()" function
void f_digraph_getlist(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
{
+ if (tv_check_for_opt_bool_arg(argvars, 0) == FAIL) {
+ return;
+ }
+
bool flag_list_all;
if (argvars[0].v_type == VAR_UNKNOWN) {
flag_list_all = false;
} else {
- bool error = false;
- varnumber_T flag = tv_get_number_chk(&argvars[0], &error);
- if (error) {
- return;
- }
+ varnumber_T flag = tv_get_bool(&argvars[0]);
flag_list_all = flag != 0;
}
diff --git a/test/old/testdir/test_digraph.vim b/test/old/testdir/test_digraph.vim
index ce5e1b2055..9c32b85f61 100644
--- a/test/old/testdir/test_digraph.vim
+++ b/test/old/testdir/test_digraph.vim
@@ -607,8 +607,10 @@ func Test_digraph_getlist_function()
" of digraphs returned.
call assert_equal(digraph_getlist()->len(), digraph_getlist(0)->len())
call assert_notequal(digraph_getlist()->len(), digraph_getlist(1)->len())
+ call assert_equal(digraph_getlist()->len(), digraph_getlist(v:false)->len())
+ call assert_notequal(digraph_getlist()->len(), digraph_getlist(v:true)->len())
- call assert_fails('call digraph_getlist(0z12)', 'E974: Using a Blob as a Number')
+ call assert_fails('call digraph_getlist(0z12)', 'E1212: Bool required for argument 1')
endfunc