patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Problem: Vim9: no error when reltime() has invalid arguments.
Solution: Add an error. (closes #8562)
diff --git a/src/time.c b/src/time.c
index 6d4ad5d..02c5da9 100644
--- a/src/time.c
+++ b/src/time.c
@@ -178,7 +178,11 @@
else if (argvars[1].v_type == VAR_UNKNOWN)
{
if (list2proftime(&argvars[0], &res) == FAIL)
+ {
+ if (in_vim9script())
+ emsg(_(e_invarg));
return;
+ }
profile_end(&res);
}
else
@@ -186,7 +190,11 @@
// Two arguments: compute the difference.
if (list2proftime(&argvars[0], &start) == FAIL
|| list2proftime(&argvars[1], &res) == FAIL)
+ {
+ if (in_vim9script())
+ emsg(_(e_invarg));
return;
+ }
profile_sub(&res, &start);
}
@@ -223,6 +231,8 @@
# ifdef FEAT_RELTIME
if (list2proftime(&argvars[0], &tm) == OK)
rettv->vval.v_float = profile_float(&tm);
+ else if (in_vim9script())
+ emsg(_(e_invarg));
# endif
}
# endif
@@ -242,6 +252,8 @@
# ifdef FEAT_RELTIME
if (list2proftime(&argvars[0], &tm) == OK)
rettv->vval.v_string = vim_strsave((char_u *)profile_msg(&tm));
+ else if (in_vim9script())
+ emsg(_(e_invarg));
# endif
}