changeset 22649:6e965b3587a4 v8.2.1873

patch 8.2.1873: Vim9: missing white space when using <f-args> Commit: https://github.com/vim/vim/commit/20d89e0ac65686481f97657008deede0b39ef5db Author: Bram Moolenaar <Bram@vim.org> Date: Tue Oct 20 23:11:33 2020 +0200 patch 8.2.1873: Vim9: missing white space when using <f-args> Problem: Vim9: missing white space when using <f-args>. Solution: Add spaces. (Christian J. Robinson)
author Bram Moolenaar <Bram@vim.org>
date Tue, 20 Oct 2020 23:15:03 +0200
parents 851db792dfa7
children c78e309dc10f
files src/testdir/test_vim9_cmd.vim src/usercmd.c src/version.c
diffstat 3 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -375,6 +375,24 @@ def Test_command_star_range()
   bwipe!
 enddef
 
+def Test_f_args()
+  var lines =<< trim END
+    vim9script
+
+    func SaveCmdArgs(...)
+      let g:args = a:000
+    endfunc
+
+    command -nargs=* TestFArgs call SaveCmdArgs(<f-args>)
+
+    TestFArgs
+    assert_equal([], g:args)
+
+    TestFArgs one two three
+    assert_equal(['one', 'two', 'three'], g:args)
+  END
+  CheckScriptSuccess(lines)
+enddef
 
 
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -1153,7 +1153,7 @@ uc_split_args(char_u *arg, size_t *lenp)
 	    p = skipwhite(p);
 	    if (*p == NUL)
 		break;
-	    len += 3; // ","
+	    len += 4; // ", "
 	}
 	else
 	{
@@ -1199,6 +1199,7 @@ uc_split_args(char_u *arg, size_t *lenp)
 		break;
 	    *q++ = '"';
 	    *q++ = ',';
+	    *q++ = ' ';
 	    *q++ = '"';
 	}
 	else
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1873,
+/**/
     1872,
 /**/
     1871,