patch 8.2.0769: VimLeavePre not triggered when Vim is terminated
Problem: VimLeavePre not triggered when Vim is terminated.
Solution: Unblock autocommands.
diff --git a/src/testdir/test_signals.vim b/src/testdir/test_signals.vim
index 0008e31..48e3a3e 100644
--- a/src/testdir/test_signals.vim
+++ b/src/testdir/test_signals.vim
@@ -127,8 +127,13 @@
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")
@@ -145,8 +150,14 @@
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