patch 8.2.2540: Vim9: no error for using script var name for argument
Problem: Vim9: no error for using script var name for argument.
Solution: Check for this error. (closes #7868)
diff --git a/src/userfunc.c b/src/userfunc.c
index 450582c..8579c3b 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -80,6 +80,14 @@
semsg(_("E125: Illegal argument: %s"), arg);
return arg;
}
+
+ // Vim9 script: cannot use script var name for argument.
+ if (argtypes != NULL && script_var_exists(arg, p - arg, FALSE, NULL) == OK)
+ {
+ semsg(_(e_variable_already_declared_in_script), arg);
+ return arg;
+ }
+
if (newargs != NULL && ga_grow(newargs, 1) == FAIL)
return arg;
if (newargs != NULL)