1
0
forked from aniani/vim

patch 8.2.3229: Vim9: runtime and compile time type checks are not the same

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)
This commit is contained in:
Yegappan Lakshmanan
2021-07-27 22:00:44 +02:00
committed by Bram Moolenaar
parent 5d7c2df536
commit 4490ec4e83
55 changed files with 1710 additions and 630 deletions

View File

@@ -2473,10 +2473,7 @@ f_complete(typval_T *argvars, typval_T *rettv UNUSED)
void
f_complete_add(typval_T *argvars, typval_T *rettv)
{
if (in_vim9script()
&& (argvars[0].v_type != VAR_DICT
&& argvars[0].v_type != VAR_STRING
&& check_for_string_arg(argvars, 0) == FAIL))
if (in_vim9script() && check_for_string_or_dict_arg(argvars, 0) == FAIL)
return;
rettv->vval.v_number = ins_compl_add_tv(&argvars[0], 0, FALSE);
@@ -2666,6 +2663,9 @@ f_complete_info(typval_T *argvars, typval_T *rettv)
if (rettv_dict_alloc(rettv) != OK)
return;
if (in_vim9script() && check_for_opt_list_arg(argvars, 0) == FAIL)
return;
if (argvars[0].v_type != VAR_UNKNOWN)
{
if (argvars[0].v_type != VAR_LIST)