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

@@ -632,6 +632,9 @@ f_mode(typval_T *argvars, typval_T *rettv)
{
char_u buf[4];
if (in_vim9script() && check_for_opt_bool_arg(argvars, 0) == FAIL)
return;
CLEAR_FIELD(buf);
if (time_for_testing == 93784)
@@ -733,6 +736,9 @@ f_state(typval_T *argvars, typval_T *rettv)
char_u *include = NULL;
int i;
if (in_vim9script() && check_for_opt_string_arg(argvars, 0) == FAIL)
return;
ga_init2(&ga, 1, 20);
if (argvars[0].v_type != VAR_UNKNOWN)
include = tv_get_string(&argvars[0]);
@@ -2353,7 +2359,7 @@ get_cmd_output_as_rettv(
if (in_vim9script()
&& (check_for_string_arg(argvars, 0) == FAIL
|| check_for_opt_string_or_number_arg(argvars, 1) == FAIL))
|| check_for_string_or_number_or_list_arg(argvars, 1) == FAIL))
return;
if (argvars[1].v_type != VAR_UNKNOWN)