Mercurial > vim
comparison src/structs.h @ 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 | 6cf788ab844c |
children | 9874afdacb5f |
comparison
equal
deleted
inserted
replaced
30121:8bfd8ae3b460 | 30122:458162398682 |
---|---|
1751 listitem_T l_listitems[MAX_FUNC_ARGS]; // listitems for a:000 | 1751 listitem_T l_listitems[MAX_FUNC_ARGS]; // listitems for a:000 |
1752 typval_T *rettv; // return value | 1752 typval_T *rettv; // return value |
1753 linenr_T breakpoint; // next line with breakpoint or zero | 1753 linenr_T breakpoint; // next line with breakpoint or zero |
1754 int dbg_tick; // debug_tick when breakpoint was set | 1754 int dbg_tick; // debug_tick when breakpoint was set |
1755 int level; // top nesting level of executed function | 1755 int level; // top nesting level of executed function |
1756 | |
1756 garray_T fc_defer; // functions to be called on return | 1757 garray_T fc_defer; // functions to be called on return |
1758 ectx_T *fc_ectx; // execution context for :def function, NULL | |
1759 // otherwise | |
1760 | |
1757 #ifdef FEAT_PROFILE | 1761 #ifdef FEAT_PROFILE |
1758 proftime_T prof_child; // time spent in a child | 1762 proftime_T prof_child; // time spent in a child |
1759 #endif | 1763 #endif |
1760 funccall_T *caller; // calling function or NULL; or next funccal in | 1764 funccall_T *caller; // calling function or NULL; or next funccal in |
1761 // list pointed to by previous_funccal. | 1765 // list pointed to by previous_funccal. |