Mercurial > vim
comparison src/proto/userfunc.pro @ 30122:458162398682 v9.0.0397
patch 9.0.0397: :defer not tested with exceptions and ":qa!"
Commit: https://github.com/vim/vim/commit/58779858fb5a82a3233af5d4237a3cece88c10d4
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Sep 6 18:31:14 2022 +0100
patch 9.0.0397: :defer not tested with exceptions and ":qa!"
Problem: :defer not tested with exceptions and ":qa!".
Solution: Test :defer works when exceptions are thrown and when ":qa!" is
used. Invoke the deferred calls on exit.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 06 Sep 2022 19:45:04 +0200 |
parents | a542dfb1c1a2 |
children | 3b42bdfff7cb |
comparison
equal
deleted
inserted
replaced
30121:8bfd8ae3b460 | 30122:458162398682 |
---|---|
57 void func_ptr_unref(ufunc_T *fp); | 57 void func_ptr_unref(ufunc_T *fp); |
58 void func_ref(char_u *name); | 58 void func_ref(char_u *name); |
59 void func_ptr_ref(ufunc_T *fp); | 59 void func_ptr_ref(ufunc_T *fp); |
60 void ex_return(exarg_T *eap); | 60 void ex_return(exarg_T *eap); |
61 int add_defer(char_u *name, int argcount_arg, typval_T *argvars); | 61 int add_defer(char_u *name, int argcount_arg, typval_T *argvars); |
62 void handle_defer(void); | 62 void invoke_all_defer(void); |
63 void ex_call(exarg_T *eap); | 63 void ex_call(exarg_T *eap); |
64 int do_return(exarg_T *eap, int reanimate, int is_cmd, void *rettv); | 64 int do_return(exarg_T *eap, int reanimate, int is_cmd, void *rettv); |
65 void discard_pending_return(void *rettv); | 65 void discard_pending_return(void *rettv); |
66 char_u *get_return_cmd(void *rettv); | 66 char_u *get_return_cmd(void *rettv); |
67 char_u *get_func_line(int c, void *cookie, int indent, getline_opt_T options); | 67 char_u *get_func_line(int c, void *cookie, int indent, getline_opt_T options); |