changeset 21737:a849c984b485 v8.2.1418

patch 8.2.1418: Vim9: invalid error for missing white space Commit: https://github.com/vim/vim/commit/8294d49937b99067522fda8a9399bb9533e3c44e Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 10 22:40:56 2020 +0200 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 https://github.com/vim/vim/issues/6679)
author Bram Moolenaar <Bram@vim.org>
date Mon, 10 Aug 2020 22:45:04 +0200
parents 38ea8c418214
children c7693230fb82
files src/testdir/test_vim9_expr.vim src/userfunc.c src/version.c
diffstat 3 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -706,7 +706,7 @@ def RetVoid()
   let x = 1
 enddef
 
-def Test_expr4_vimscript()
+def Test_expr4_vim9script()
   # check line continuation
   let lines =<< trim END
       vim9script
@@ -819,6 +819,12 @@ def Test_expr4_vimscript()
     echo 2!= 3
   END
   CheckScriptFailure(lines, 'E1004:')
+
+  lines =<< trim END
+    vim9script
+    echo len('xxx') == 3
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 func Test_expr4_fails()
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -686,7 +686,10 @@ get_func_tv(
     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 @@ ex_call(exarg_T *eap)
     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)
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1418,
+/**/
     1417,
 /**/
     1416,