mirror of
https://github.com/vim/vim.git
synced 2025-10-23 08:44:20 -04:00
patch 9.1.0450: evalc. code too complex
Problem: eval.c code too complex Solution: refactor eval6() and eval9() functions into several smaller functions (Yegappan Lakshmanan) closes: #14875 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
51024bbc1a
commit
51c45e89b5
27
src/dict.c
27
src/dict.c
@@ -1091,6 +1091,33 @@ failret:
|
||||
return OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Evaluate a literal dictionary: #{key: val, key: val}
|
||||
* "*arg" points to the "#".
|
||||
* On return, "*arg" points to the character after the Dict.
|
||||
* Return OK or FAIL. Returns NOTDONE for {expr}.
|
||||
*/
|
||||
int
|
||||
eval_lit_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
{
|
||||
int vim9script = in_vim9script();
|
||||
int ret = OK;
|
||||
|
||||
if (vim9script)
|
||||
{
|
||||
ret = vim9_bad_comment(*arg) ? FAIL : NOTDONE;
|
||||
}
|
||||
else if ((*arg)[1] == '{')
|
||||
{
|
||||
++*arg;
|
||||
ret = eval_dict(arg, rettv, evalarg, TRUE);
|
||||
}
|
||||
else
|
||||
ret = NOTDONE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Go over all entries in "d2" and add them to "d1".
|
||||
* When "action" is "error" then a duplicate key is an error.
|
||||
|
Reference in New Issue
Block a user