comparison src/proto/vim9compile.pro @ 23285:112fa621b127 v8.2.2188

patch 8.2.2188: Vim9: crash when calling global function from :def function Commit: https://github.com/vim/vim/commit/cd45ed03bfdd7fac53d562ad402df74bd26e7754 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Dec 22 17:35:54 2020 +0100 patch 8.2.2188: Vim9: crash when calling global function from :def function Problem: Vim9: crash when calling global function from :def function. Solution: Set the outer context. Define the partial for the context on the original function. Use a refcount to keep track of which ufunc is using a dfunc. (closes #7525)
author Bram Moolenaar <Bram@vim.org>
date Tue, 22 Dec 2020 17:45:03 +0100
parents d3b26055bfa8
children 517fca70e084
comparison
equal deleted inserted replaced
23284:3d54c7fa353c 23285:112fa621b127
16 void vim9_declare_error(char_u *name); 16 void vim9_declare_error(char_u *name);
17 int check_vim9_unlet(char_u *name); 17 int check_vim9_unlet(char_u *name);
18 int compile_def_function(ufunc_T *ufunc, int set_return_type, cctx_T *outer_cctx); 18 int compile_def_function(ufunc_T *ufunc, int set_return_type, cctx_T *outer_cctx);
19 void set_function_type(ufunc_T *ufunc); 19 void set_function_type(ufunc_T *ufunc);
20 void delete_instr(isn_T *isn); 20 void delete_instr(isn_T *isn);
21 void clear_def_function(ufunc_T *ufunc);
22 void unlink_def_function(ufunc_T *ufunc); 21 void unlink_def_function(ufunc_T *ufunc);
22 void link_def_function(ufunc_T *ufunc);
23 void free_def_functions(void); 23 void free_def_functions(void);
24 /* vim: set ft=c : */ 24 /* vim: set ft=c : */