mirror of
https://github.com/vim/vim.git
synced 2025-10-02 05:04:20 -04:00
patch 8.1.1872: when Vim exits because of a signal, VimLeave is not triggered
Problem: When Vim exits because of a signal, VimLeave is not triggered. (Daniel Hahler) Solution: Unblock autocommands when triggering VimLeave. (closes #4818)
This commit is contained in:
12
src/main.c
12
src/main.c
@@ -1485,7 +1485,19 @@ getout(int exitval)
|
||||
#endif
|
||||
|
||||
if (v_dying <= 1)
|
||||
{
|
||||
int unblock = 0;
|
||||
|
||||
// deathtrap() blocks autocommands, but we do want to trigger VimLeave.
|
||||
if (is_autocmd_blocked())
|
||||
{
|
||||
unblock_autocmds();
|
||||
++unblock;
|
||||
}
|
||||
apply_autocmds(EVENT_VIMLEAVE, NULL, NULL, FALSE, curbuf);
|
||||
if (unblock)
|
||||
block_autocmds();
|
||||
}
|
||||
|
||||
#ifdef FEAT_PROFILE
|
||||
profile_dump();
|
||||
|
@@ -769,6 +769,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1872,
|
||||
/**/
|
||||
1871,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user