patch 8.2.1067: expression "!expr->func()" does not work
Problem: Expression "!expr->func()" does not work.
Solution: Apply plus and minus earlier. (closes #6348)
diff --git a/src/evalvars.c b/src/evalvars.c
index e64b44e..7de7c1d 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1125,8 +1125,8 @@
{
// handle d.key, l[idx], f(expr)
arg_subsc = arg;
- if (handle_subscript(&arg, &tv, EVAL_EVALUATE, TRUE,
- name, &name) == FAIL)
+ if (handle_subscript(&arg, &tv, EVAL_EVALUATE, TRUE)
+ == FAIL)
error = TRUE;
else
{
@@ -3341,8 +3341,7 @@
if (n)
{
// handle d.key, l[idx], f(expr)
- n = (handle_subscript(&var, &tv, EVAL_EVALUATE,
- FALSE, name, &name) == OK);
+ n = (handle_subscript(&var, &tv, EVAL_EVALUATE, FALSE) == OK);
if (n)
clear_tv(&tv);
}