From caf2620f18affec2846b56de4f6bf6453296537a Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Tue, 22 Dec 2020 00:15:18 -0500 Subject: vim-patch:8.2.0769: VimLeavePre not triggered when Vim is terminated Problem: VimLeavePre not triggered when Vim is terminated. Solution: Unblock autocommands. https://github.com/vim/vim/commit/129d6bf6b3d120b0a4c69e18b5e8602a84e352bf --- src/nvim/testdir/test_signals.vim | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_signals.vim b/src/nvim/testdir/test_signals.vim index fdcb37a6d9..fab42cb7c6 100644 --- a/src/nvim/testdir/test_signals.vim +++ b/src/nvim/testdir/test_signals.vim @@ -98,8 +98,13 @@ func Test_deadly_signal_TERM() if cmd =~ 'valgrind' throw 'Skipped: cannot test signal TERM with valgrind' endif + let lines =<< trim END + au VimLeave * call writefile(["VimLeave triggered"], "XautoOut", "a") + au VimLeavePre * call writefile(["VimLeavePre triggered"], "XautoOut", "a") + END + call writefile(lines, 'XsetupAucmd') - let buf = RunVimInTerminal('Xsig_TERM', {'rows': 6}) + let buf = RunVimInTerminal('-S XsetupAucmd Xsig_TERM', {'rows': 6}) let pid_vim = term_getjob(buf)->job_info().process call term_sendkeys(buf, ":call setline(1, 'foo')\n") @@ -116,8 +121,14 @@ func Test_deadly_signal_TERM() silent recover .Xsig_TERM.swp call assert_equal(['foo'], getline(1, '$')) + let result = readfile('XautoOut') + call assert_match('VimLeavePre triggered', result[0]) + call assert_match('VimLeave triggered', result[1]) + %bwipe! call delete('.Xsig_TERM.swp') + call delete('XsetupAucmd') + call delete('XautoOut') endfunc " vim: ts=8 sw=2 sts=2 tw=80 fdm=marker -- cgit