Mercurial > vim
diff src/eval.c @ 8839:9fa567d13551 v7.4.1707
commit https://github.com/vim/vim/commit/0921ecff1c5a74541bad6c073e8ade32247403d8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 3 22:44:36 2016 +0200
patch 7.4.1707
Problem: Cannot use empty dictionary key, even though it can be useful.
Solution: Allow using an empty dictionary key.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 03 Apr 2016 22:45:05 +0200 |
parents | 6f41d68aa68e |
children | b76195a1e38e |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -2782,11 +2782,9 @@ get_lval( if (len == -1) { /* "[key]": get key from "var1" */ - key = get_tv_string(&var1); /* is number or string */ - if (*key == NUL) - { - if (!quiet) - EMSG(_(e_emptykey)); + key = get_tv_string_chk(&var1); /* is number or string */ + if (key == NULL) + { clear_tv(&var1); return NULL; } @@ -5623,11 +5621,9 @@ eval_index( if (len == -1) { - key = get_tv_string(&var1); - if (*key == NUL) + key = get_tv_string_chk(&var1); + if (key == NULL) { - if (verbose) - EMSG(_(e_emptykey)); clear_tv(&var1); return FAIL; } @@ -7754,11 +7750,9 @@ get_dict_tv(char_u **arg, typval_T *rett if (evaluate) { key = get_tv_string_buf_chk(&tvkey, buf); - if (key == NULL || *key == NUL) + if (key == NULL) { /* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */ - if (key != NULL) - EMSG(_(e_emptykey)); clear_tv(&tvkey); goto failret; }