forked from aniani/vim
patch 8.2.1431: Vim9: no error for white space before comma in dict
Problem: Vim9: no error for white space before comma in dict. Solution: Check for extra white space. (closes #6674)
This commit is contained in:
parent
db199216e8
commit
c3d6e8a46a
@ -922,7 +922,12 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
|
||||
if (!had_comma)
|
||||
{
|
||||
if (evaluate)
|
||||
semsg(_(e_missing_dict_comma), *arg);
|
||||
{
|
||||
if (**arg == ',')
|
||||
semsg(_(e_no_white_before), ",");
|
||||
else
|
||||
semsg(_(e_missing_dict_comma), *arg);
|
||||
}
|
||||
goto failret;
|
||||
}
|
||||
}
|
||||
|
@ -1506,6 +1506,7 @@ def Test_expr7_dict()
|
||||
call CheckDefFailure(["let x = #{a:8}"], 'E1069:')
|
||||
call CheckDefFailure(["let x = #{a : 8}"], 'E1068:')
|
||||
call CheckDefFailure(["let x = #{a :8}"], 'E1068:')
|
||||
call CheckDefFailure(["let x = #{a: 8 , b: 9}"], 'E1068:')
|
||||
|
||||
call CheckDefFailure(["let x = #{8: 8}"], 'E1014:')
|
||||
call CheckDefFailure(["let x = #{xxx}"], 'E720:')
|
||||
@ -1577,6 +1578,12 @@ def Test_expr7_dict_vim9script()
|
||||
let d = #{one:1}
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1069:')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
let d = #{one: 1 , two: 2}
|
||||
END
|
||||
CheckScriptFailure(lines, 'E1068:')
|
||||
enddef
|
||||
|
||||
let g:oneString = 'one'
|
||||
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1431,
|
||||
/**/
|
||||
1430,
|
||||
/**/
|
||||
|
@ -2638,6 +2638,11 @@ compile_dict(char_u **arg, cctx_T *cctx, int literal)
|
||||
semsg(_(e_missing_dict_comma), *arg);
|
||||
goto failret;
|
||||
}
|
||||
if (IS_WHITE_OR_NUL(*whitep))
|
||||
{
|
||||
semsg(_(e_no_white_before), ",");
|
||||
return FAIL;
|
||||
}
|
||||
whitep = *arg + 1;
|
||||
*arg = skipwhite(*arg + 1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user