patch 8.2.1418: Vim9: invalid error for missing white space
Problem: Vim9: invalid error for missing white space after function.
Solution: Do not skip over white space. (closes #6679)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index d2d2e0b..f831b5a 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -706,7 +706,7 @@
let x = 1
enddef
-def Test_expr4_vimscript()
+def Test_expr4_vim9script()
# check line continuation
let lines =<< trim END
vim9script
@@ -819,6 +819,12 @@
echo 2!= 3
END
CheckScriptFailure(lines, 'E1004:')
+
+ lines =<< trim END
+ vim9script
+ echo len('xxx') == 3
+ END
+ CheckScriptSuccess(lines)
enddef
func Test_expr4_fails()
diff --git a/src/userfunc.c b/src/userfunc.c
index 7d3039a..f38c978f 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -686,7 +686,10 @@
while (--argcount >= 0)
clear_tv(&argvars[argcount]);
- *arg = skipwhite(argp);
+ if (in_vim9script())
+ *arg = argp;
+ else
+ *arg = skipwhite(argp);
return ret;
}
@@ -4097,6 +4100,7 @@
if (!failed || eap->cstack->cs_trylevel > 0)
{
// Check for trailing illegal characters and a following command.
+ arg = skipwhite(arg);
if (!ends_excmd2(eap->arg, arg))
{
if (!failed)
diff --git a/src/version.c b/src/version.c
index 662a17c..bfd5070 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1418,
+/**/
1417,
/**/
1416,