comparison src/proto/userfunc.pro @ 22326:fb69b43d73f3 v8.2.1712

patch 8.2.1712: Vim9: leaking memory when calling a lambda Commit: https://github.com/vim/vim/commit/a05e524f3aa8eadc2dbd0ad8ff6db9407ac7ac7e Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 19 18:19:19 2020 +0200 patch 8.2.1712: Vim9: leaking memory when calling a lambda Problem: Vim9: leaking memory when calling a lambda. Solution: Decrement function reference from ISN_DCALL.
author Bram Moolenaar <Bram@vim.org>
date Sat, 19 Sep 2020 18:30:04 +0200
parents 3d0632b260fd
children 107eae953b87
comparison
equal deleted inserted replaced
22325:543812d79fae 22326:fb69b43d73f3
10 int get_func_tv(char_u *name, int len, typval_T *rettv, char_u **arg, evalarg_T *evalarg, funcexe_T *funcexe); 10 int get_func_tv(char_u *name, int len, typval_T *rettv, char_u **arg, evalarg_T *evalarg, funcexe_T *funcexe);
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 void copy_func(char_u *lambda, char_u *global); 16 void copy_func(char_u *lambda, char_u *global);
16 int call_user_func_check(ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, funcexe_T *funcexe, dict_T *selfdict); 17 int call_user_func_check(ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, funcexe_T *funcexe, dict_T *selfdict);
17 void save_funccal(funccal_entry_T *entry); 18 void save_funccal(funccal_entry_T *entry);
18 void restore_funccal(void); 19 void restore_funccal(void);
19 funccall_T *get_current_funccal(void); 20 funccall_T *get_current_funccal(void);