summaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-11-28 19:54:04 +0000
committerBram Moolenaar <Bram@vim.org>2006-11-28 19:54:04 +0000
commitf278987c97dc8e90c519d6664f26590adeaeb99d (patch)
treeef8da88f3e31222b368cf8cd1b8847fcc878265d /src/eval.c
parent4632d298ada36b48738795ecdc44cd7394acd25e (diff)
updated for version 7.0-173v7.0.173
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c
index e54d50080f..53ebc78451 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3184,9 +3184,18 @@ ex_call(eap)
failed = TRUE;
break;
}
+
+ /* Handle a function returning a Funcref, Dictionary or List. */
+ if (handle_subscript(&arg, &rettv, !eap->skip, TRUE) == FAIL)
+ {
+ failed = TRUE;
+ break;
+ }
+
clear_tv(&rettv);
if (doesrange || eap->skip)
break;
+
/* Stop when immediately aborting on error, or when an interrupt
* occurred or an exception was thrown but not caught.
* get_func_tv() returned OK, so that the check for trailing