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 diff --git a/src/version.c b/src/version.c index 1bf84d35ba..3310ef21e9 100644 --- a/src/version.c +++ b/src/version.c @@ -666,6 +666,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 173, /**/ 172, /**/