patch 8.2.1868: Vim9: no error for missing space after comma in dict
Problem: Vim9: no error for missing space after comma in dict.
Solution: Check for white space. (closes #6672)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index a4e7c51..94d23c6 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1880,6 +1880,7 @@
CheckDefFailure(["var x = #{a : 8}"], 'E1068:', 1)
CheckDefFailure(["var x = #{a :8}"], 'E1068:', 1)
CheckDefFailure(["var x = #{a: 8 , b: 9}"], 'E1068:', 1)
+ CheckDefFailure(["var x = #{a: 1,b: 2}"], 'E1069:', 1)
CheckDefFailure(["var x = #{8: 8}"], 'E1014:', 1)
CheckDefFailure(["var x = #{xxx}"], 'E720:', 1)
diff --git a/src/version.c b/src/version.c
index 97a3b71..90ab88a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1868,
+/**/
1867,
/**/
1866,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index d9908d3..cd5e45b 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2996,6 +2996,11 @@
return FAIL;
}
whitep = *arg + 1;
+ if (!IS_WHITE_OR_NUL(*whitep))
+ {
+ semsg(_(e_white_space_required_after_str), ",");
+ return FAIL;
+ }
*arg = skipwhite(*arg + 1);
}