patch 8.2.3188: Vim9: argument types are not checked at compile time
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks, also at runtime. (Yegappan
Lakshmanan, closes #8587)
diff --git a/src/blob.c b/src/blob.c
index 4685dc9..6855935 100644
--- a/src/blob.c
+++ b/src/blob.c
@@ -415,9 +415,16 @@
blob_remove(typval_T *argvars, typval_T *rettv)
{
int error = FALSE;
- long idx = (long)tv_get_number_chk(&argvars[1], &error);
+ long idx;
long end;
+ if (in_vim9script()
+ && (check_for_blob_arg(argvars, 0) == FAIL
+ || check_for_number_arg(argvars, 1) == FAIL
+ || check_for_opt_number_arg(argvars, 2) == FAIL))
+ return;
+
+ idx = (long)tv_get_number_chk(&argvars[1], &error);
if (!error)
{
blob_T *b = argvars[0].vval.v_blob;