Mercurial > vim
comparison src/proto/userfunc.pro @ 23249:43532077b5ff v8.2.2170
patch 8.2.2170: Vim9: a global function defined in a :def function fails
Commit: https://github.com/vim/vim/commit/f112f30a82f17114d8b08a0fb90928cd19440581
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Dec 20 17:47:52 2020 +0100
patch 8.2.2170: Vim9: a global function defined in a :def function fails
Problem: Vim9: a global function defined in a :def function fails if it
uses the context.
Solution: Create a partial to store the closure context. (see #7410)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 20 Dec 2020 18:00:06 +0100 |
parents | 4c97c0747017 |
children | 35583da6397e |
comparison
equal
deleted
inserted
replaced
23248:a0e114c6b39e | 23249:43532077b5ff |
---|---|
11 char_u *fname_trans_sid(char_u *name, char_u *fname_buf, char_u **tofree, int *error); | 11 char_u *fname_trans_sid(char_u *name, char_u *fname_buf, char_u **tofree, int *error); |
12 ufunc_T *find_func_even_dead(char_u *name, int is_global, cctx_T *cctx); | 12 ufunc_T *find_func_even_dead(char_u *name, int is_global, cctx_T *cctx); |
13 ufunc_T *find_func(char_u *name, int is_global, cctx_T *cctx); | 13 ufunc_T *find_func(char_u *name, int is_global, cctx_T *cctx); |
14 int func_is_global(ufunc_T *ufunc); | 14 int func_is_global(ufunc_T *ufunc); |
15 int func_name_refcount(char_u *name); | 15 int func_name_refcount(char_u *name); |
16 void copy_func(char_u *lambda, char_u *global); | 16 ufunc_T *copy_func(char_u *lambda, char_u *global); |
17 int funcdepth_increment(void); | 17 int funcdepth_increment(void); |
18 void funcdepth_decrement(void); | 18 void funcdepth_decrement(void); |
19 int funcdepth_get(void); | 19 int funcdepth_get(void); |
20 void funcdepth_restore(int depth); | 20 void funcdepth_restore(int depth); |
21 int call_user_func_check(ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, funcexe_T *funcexe, dict_T *selfdict); | 21 int call_user_func_check(ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, funcexe_T *funcexe, dict_T *selfdict); |