diff options
author | ii14 <ii14@users.noreply.github.com> | 2022-09-07 20:45:22 +0200 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-09-08 08:17:30 +0800 |
commit | 4a67f9d386bb16149eecf32f45a3cb73878f12e7 (patch) | |
tree | f5235ef14dce746338bf8fb12a3b0c0d5facb788 /src/nvim/eval.c | |
parent | 93a0c2dd63e369528664037b118ff9b9b38a20d4 (diff) | |
download | rneovim-4a67f9d386bb16149eecf32f45a3cb73878f12e7.tar.gz rneovim-4a67f9d386bb16149eecf32f45a3cb73878f12e7.tar.bz2 rneovim-4a67f9d386bb16149eecf32f45a3cb73878f12e7.zip |
vim-patch:9.0.0409: #{g:x} was seen as a curly-braces expression
Problem: #{g:x} was seen as a curly-braces expression.
Solution: Do never see #{} as a curly-braces expression. (closes vim/vim#11075)
https://github.com/vim/vim/commit/7c7e1e9b98d4e5dbe7358c795a635c6f1f36f418
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r-- | src/nvim/eval.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 1171695be3..aa2849279e 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -4587,12 +4587,14 @@ static int dict_get_tv(char **arg, typval_T *rettv, int evaluate, bool literal) char *curly_expr = skipwhite(*arg + 1); char buf[NUMBUFLEN]; - // First check if it's not a curly-braces thing: {expr}. + // First check if it's not a curly-braces expression: {expr}. // Must do this without evaluating, otherwise a function may be called // twice. Unfortunately this means we need to call eval1() twice for the // first item. - // But {} is an empty Dictionary. + // "{}" is an empty Dictionary. + // "#{abc}" is never a curly-braces expression. if (*curly_expr != '}' + && !literal && eval1(&curly_expr, &tv, false) == OK && *skipwhite(curly_expr) == '}') { return NOTDONE; |