diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-12-20 20:26:27 -0500 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-12-20 20:36:55 -0500 |
commit | d1142e02bf943aa40a80e0bdbf0687d65df4dfa2 (patch) | |
tree | 521dcdf10e0f5c3c25ff78a96100c7aa611766d0 /src/nvim/main.c | |
parent | a1ec36ff31ff1fd545dd135faa47dc782b41a687 (diff) | |
download | rneovim-d1142e02bf943aa40a80e0bdbf0687d65df4dfa2.tar.gz rneovim-d1142e02bf943aa40a80e0bdbf0687d65df4dfa2.tar.bz2 rneovim-d1142e02bf943aa40a80e0bdbf0687d65df4dfa2.zip |
vim-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 vim/vim#4818)
https://github.com/vim/vim/commit/c7226684c82dde7eb6601e067ee2e9387e447903
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index fd8264583b..ed055e76ba 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -662,7 +662,17 @@ void getout(int exitval) } 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(); + } } profile_dump(); |