Don't execute some autocommands when v:dying is 2 or more.
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index c1cbab8..a23032c 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -401,6 +401,8 @@
buffer being unloaded "<afile>".
Don't change to another buffer, it will cause
problems.
+ When exiting and v:dying is 2 or more this
+ event is not triggered.
*BufWinEnter*
BufWinEnter After a buffer is displayed in a window. This
can be when the buffer is loaded (after
@@ -422,6 +424,8 @@
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
+ When exiting and v:dying is 2 or more this
+ event is not triggered.
*BufWipeout*
BufWipeout Before completely deleting a buffer. The
BufUnload and BufDelete events may be called
@@ -799,6 +803,8 @@
.viminfo file. Executed only once, like
VimLeavePre.
To detect an abnormal exit use |v:dying|.
+ When v:dying is 2 or more this event is not
+ triggered.
*VimLeavePre*
VimLeavePre Before exiting Vim, just before writing the
.viminfo file. This is executed only once,
@@ -807,6 +813,8 @@
Mostly useful with a "*" pattern. >
:autocmd VimLeavePre * call CleanupStuff()
< To detect an abnormal exit use |v:dying|.
+ When v:dying is 2 or more this event is not
+ triggered.
*VimResized*
VimResized After the Vim window was resized, thus 'lines'
and/or 'columns' changed. Not when starting