summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/eval.c20
-rw-r--r--src/version.c2
2 files changed, 14 insertions, 8 deletions
diff --git a/src/eval.c b/src/eval.c
index 69f3af8ce..5d4c720b0 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6746,20 +6746,24 @@ get_dict_tv(arg, rettv, evaluate)
clear_tv(&tvkey);
goto failret;
}
- key = get_tv_string_buf_chk(&tvkey, buf);
- if (key == NULL || *key == NUL)
+ if (evaluate)
{
- /* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
- if (key != NULL)
- EMSG(_(e_emptykey));
- clear_tv(&tvkey);
- goto failret;
+ key = get_tv_string_buf_chk(&tvkey, buf);
+ if (key == NULL || *key == NUL)
+ {
+ /* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
+ if (key != NULL)
+ EMSG(_(e_emptykey));
+ clear_tv(&tvkey);
+ goto failret;
+ }
}
*arg = skipwhite(*arg + 1);
if (eval1(arg, &tv, evaluate) == FAIL) /* recursive! */
{
- clear_tv(&tvkey);
+ if (evaluate)
+ clear_tv(&tvkey);
goto failret;
}
if (evaluate)
diff --git a/src/version.c b/src/version.c
index b43dcc761..90bc0490d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 105,
+/**/
104,
/**/
103,