diff src/eval.c @ 1047:2d0f22897a4d v7.0.173

updated for version 7.0-173
author vimboss
date Tue, 28 Nov 2006 19:54:04 +0000
parents c3bd0a84e11a
children 82ca8ff21fd7
line wrap: on
line diff
--- 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