diff --git a/src/dict.c b/src/dict.c
index b381d47..b6c9016 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -781,7 +781,7 @@
     tv->v_type = VAR_STRING;
     tv->vval.v_string = vim_strnsave(*arg, p - *arg);
 
-    *arg = skipwhite(p);
+    *arg = p;
     return OK;
 }
 
@@ -845,7 +845,12 @@
 	if (**arg != ':')
 	{
 	    if (evaluate)
-		semsg(_(e_missing_dict_colon), *arg);
+	    {
+		if (*skipwhite(*arg) == ':')
+		    semsg(_(e_no_white_before), ":");
+		else
+		    semsg(_(e_missing_dict_colon), *arg);
+	    }
 	    clear_tv(&tvkey);
 	    goto failret;
 	}
diff --git a/src/list.c b/src/list.c
index 14a31bc..212d827 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1219,7 +1219,12 @@
 	if (!had_comma)
 	{
 	    if (do_error)
-		semsg(_("E696: Missing comma in List: %s"), *arg);
+	    {
+		if (**arg == ',')
+		    semsg(_(e_no_white_before), ",");
+		else
+		    semsg(_("E696: Missing comma in List: %s"), *arg);
+	    }
 	    goto failret;
 	}
     }
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index a942dd4..e963d94 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1383,7 +1383,10 @@
 
   call CheckDefExecFailure(["let x = g:anint[3]"], 'E714:')
   call CheckDefFailure(["let x = g:list_mixed[xxx]"], 'E1001:')
+
   call CheckDefFailure(["let x = [1,2,3]"], 'E1069:')
+  call CheckDefFailure(["let x = [1 ,2, 3]"], 'E1068:')
+
   call CheckDefExecFailure(["let x = g:list_mixed['xx']"], 'E1029:')
   call CheckDefFailure(["let x = g:list_mixed["], 'E1097:')
   call CheckDefFailure(["let x = g:list_mixed[0"], 'E1097:')
@@ -1422,6 +1425,12 @@
       let l = [11,22]
   END
   CheckScriptFailure(lines, 'E1069:')
+
+  lines =<< trim END
+      vim9script
+      let l = [11 , 22]
+  END
+  CheckScriptFailure(lines, 'E1068:')
 enddef
 
 def Test_expr7_lambda()
@@ -1556,6 +1565,18 @@
       let d = #{one: 1,two: 2}
   END
   CheckScriptFailure(lines, 'E1069:')
+
+  lines =<< trim END
+      vim9script
+      let d = #{one : 1}
+  END
+  CheckScriptFailure(lines, 'E1068:')
+
+  lines =<< trim END
+      vim9script
+      let d = #{one:1}
+  END
+  CheckScriptFailure(lines, 'E1069:')
 enddef
 
 let g:oneString = 'one'
diff --git a/src/version.c b/src/version.c
index b290fdc..7bafa94 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1430,
+/**/
     1429,
 /**/
     1428,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 502c66f..6c43ad2 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2394,6 +2394,11 @@
 	    semsg(_(e_list_end), *arg);
 	    return FAIL;
 	}
+	if (*p == ',')
+	{
+	    semsg(_(e_no_white_before), ",");
+	    return FAIL;
+	}
 	if (*p == ']')
 	{
 	    ++p;
