Mercurial > vim
diff src/vim9execute.c @ 20281:ab8c8fd0f868 v8.2.0696
patch 8.2.0696: Vim9: nested function does not work properly
Commit: https://github.com/vim/vim/commit/0e65d3de0aeff00aa42ea899f1afd11f8b22b93e
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue May 5 17:53:16 2020 +0200
patch 8.2.0696: Vim9: nested function does not work properly
Problem: Vim9: nested function does not work properly
Solution: Create a function reference. Check argument count.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 05 May 2020 18:00:04 +0200 |
parents | 49b50843e725 |
children | 934657e365e5 |
line wrap: on
line diff
--- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -206,11 +206,6 @@ call_dfunc(int cdf_idx, int argcount_arg + dfunc->df_varcount + dfunc->df_closure_count) == FAIL) return FAIL; - // Closure may need the function context where it was defined. - // TODO: assuming current context. - ectx->ec_outer_stack = &ectx->ec_stack; - ectx->ec_outer_frame = ectx->ec_frame_idx; - // Move the vararg-list to below the missing optional arguments. if (vararg_count > 0 && arg_to_add > 0) *STACK_TV_BOT(arg_to_add - 1) = *STACK_TV_BOT(-1);