summaryrefslogtreecommitdiff
path: root/src/list.c
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2021-07-27 22:00:44 +0200
committerBram Moolenaar <Bram@vim.org>2021-07-27 22:00:44 +0200
commit4490ec4e839e45a2e6923c265c7e9e64c240b805 (patch)
tree3ef2dc127890ac6a644f38ae7932b7e70071544a /src/list.c
parent5d7c2df536c17db4a9c61e0760bdcf78d0db7330 (diff)
downloadvim-git-4490ec4e839e45a2e6923c265c7e9e64c240b805.tar.gz
patch 8.2.3229: Vim9: runtime and compile time type checks are not the samev8.2.3229
Problem: Vim9: runtime and compile time type checks are not the same. Solution: Add more runtime type checks for builtin functions. (Yegappan Lakshmanan, closes #8646)
Diffstat (limited to 'src/list.c')
-rw-r--r--src/list.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/list.c b/src/list.c
index 7f607be3c..c65c8df6f 100644
--- a/src/list.c
+++ b/src/list.c
@@ -2528,10 +2528,7 @@ f_count(typval_T *argvars, typval_T *rettv)
int error = FALSE;
if (in_vim9script()
- && ((argvars[0].v_type != VAR_STRING
- && argvars[0].v_type != VAR_LIST
- && argvars[0].v_type != VAR_DICT
- && check_for_string_arg(argvars, 0) == FAIL)
+ && (check_for_string_or_list_or_dict_arg(argvars, 0) == FAIL
|| check_for_opt_bool_arg(argvars, 2) == FAIL
|| (argvars[2].v_type != VAR_UNKNOWN
&& check_for_opt_number_arg(argvars, 3) == FAIL)))