Mercurial > vim
view src/proto/vim9script.pro @ 31920:f1a5e67e9a1b v9.0.1292
patch 9.0.1292: :defer may call the wrong method for an object
Commit: https://github.com/vim/vim/commit/313e4724c3b4f6d7454b45b89da08f83a2a0c77e
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Feb 8 20:55:27 2023 +0000
patch 9.0.1292: :defer may call the wrong method for an object
Problem: :defer may call the wrong method for an object. (Ernie Rael)
Solution: When en object is from a class that extends or implements, figure
out the method to call at runtime. (closes #11910)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 08 Feb 2023 22:00:06 +0100 |
parents | 307f68a41b03 |
children | a44d7e4ac1c0 |
line wrap: on
line source
/* vim9script.c */ int in_vim9script(void); int in_old_script(int max_version); int current_script_is_vim9(void); void clear_vim9_scriptlocal_vars(int sid); void ex_vim9script(exarg_T *eap); int not_in_vim9(exarg_T *eap); int vim9_bad_comment(char_u *p); int vim9_comment_start(char_u *p); void ex_incdec(exarg_T *eap); void ex_export(exarg_T *eap); void free_imports_and_script_vars(int sid); void mark_imports_for_reload(int sid); void ex_import(exarg_T *eap); void import_check_sourced_sid(int *sid); int find_exported(int sid, char_u *name, ufunc_T **ufunc, type_T **type, cctx_T *cctx, cstack_T *cstack, int verbose); char_u *vim9_declare_scriptvar(exarg_T *eap, char_u *arg); void update_vim9_script_var(int create, dictitem_T *di, char_u *name, int flags, typval_T *tv, type_T **type, int do_member); void hide_script_var(scriptitem_T *si, int idx, int func_defined); svar_T *find_typval_in_script(typval_T *dest, scid_T sid, int must_find); int check_script_var_type(svar_T *sv, typval_T *value, char_u *name, where_T where); int check_reserved_name(char_u *name, cctx_T *cctx); /* vim: set ft=c : */