diff src/vim9compile.c @ 19295:2a63b7f5802a v8.2.0206

patch 8.2.0206: calling Vim9 function using default argument fails Commit: https://github.com/vim/vim/commit/26e117e9bcc09926d654b5993d61acde6b5749db Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 4 21:24:15 2020 +0100 patch 8.2.0206: calling Vim9 function using default argument fails Problem: Calling Vim9 function using default argument fails. Solution: Give an appropriate error. (closes https://github.com/vim/vim/issues/5572)
author Bram Moolenaar <Bram@vim.org>
date Tue, 04 Feb 2020 21:30:04 +0100
parents 86665583dc83
children 097c46668bd1
line wrap: on
line diff
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1024,9 +1024,11 @@ generate_UCALL(cctx_T *cctx, char_u *nam
     isn->isn_arg.ufunc.cuf_argcount = argcount;
 
     stack->ga_len -= argcount; // drop the arguments
-
-    // drop the funcref/partial, get back the return value
-    ((type_T **)stack->ga_data)[stack->ga_len - 1] = &t_any;
+    if (ga_grow(stack, 1) == FAIL)
+	return FAIL;
+    // add return value
+    ((type_T **)stack->ga_data)[stack->ga_len] = &t_any;
+    ++stack->ga_len;
 
     return OK;
 }