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)
diff --git a/src/change.c b/src/change.c
index f77b48c..799aa5e 100644
--- a/src/change.c
+++ b/src/change.c
@@ -281,6 +281,9 @@
{
buf_T *buf = curbuf;
+ if (in_vim9script() && check_for_opt_buffer_arg(argvars, 0) == FAIL)
+ return;
+
if (argvars[0].v_type != VAR_UNKNOWN)
{
buf = get_buf_arg(&argvars[0]);
@@ -299,9 +302,13 @@
listener_T *lnr;
listener_T *next;
listener_T *prev;
- int id = tv_get_number(argvars);
+ int id;
buf_T *buf;
+ if (in_vim9script() && check_for_number_arg(argvars, 0) == FAIL)
+ return;
+
+ id = tv_get_number(argvars);
FOR_ALL_BUFFERS(buf)
{
prev = NULL;