summaryrefslogtreecommitdiffstats
path: root/src/dict.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-08-12 18:01:53 +0200
committerBram Moolenaar <Bram@vim.org>2020-08-12 18:01:53 +0200
commitdb199216e81865350a8d56a603bb86cab672bfad (patch)
tree70f6784f2cb7f3f1e1cac3b812545240ca83e982 /src/dict.c
parent17a836cbee6b8d8ff555f8e307f48a779908db41 (diff)
patch 8.2.1430: Vim9: error for missing comma instead of extra white spacev8.2.1430
Problem: Vim9: error for missing comma instead of extra white space. Solution: Check if comma can be found after white space. (closes #6668) Also check for extra white space in literal dict. (closes #6670)
Diffstat (limited to 'src/dict.c')
-rw-r--r--src/dict.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dict.c b/src/dict.c
index b381d476dc..b6c9016342 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -781,7 +781,7 @@ get_literal_key(char_u **arg, typval_T *tv)
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 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
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;
}