patch 8.2.1718: Vim9: :def function disallows "firstline" for no good reason
Problem: Vim9: :def function disallows "firstline" and "lastline" argument
names for no good reason.
Solution: Don't check the arguments for a :def function. (closes #6986)
diff --git a/src/userfunc.c b/src/userfunc.c
index 595963d..be2a18c 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -66,8 +66,9 @@
while (ASCII_ISALNUM(*p) || *p == '_')
++p;
if (arg == p || isdigit(*arg)
- || (p - arg == 9 && STRNCMP(arg, "firstline", 9) == 0)
- || (p - arg == 8 && STRNCMP(arg, "lastline", 8) == 0))
+ || (argtypes == NULL
+ && ((p - arg == 9 && STRNCMP(arg, "firstline", 9) == 0)
+ || (p - arg == 8 && STRNCMP(arg, "lastline", 8) == 0))))
{
if (!skip)
semsg(_("E125: Illegal argument: %s"), arg);