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/main.c b/src/main.c
index b00d7b9..201ed37 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1576,6 +1576,7 @@
 	tabpage_T	*next_tp;
 	buf_T		*buf;
 	win_T		*wp;
+	int		unblock = 0;
 
 	// Trigger BufWinLeave for all windows, but only once per buffer.
 	for (tp = first_tabpage; tp != NULL; tp = next_tp)
@@ -1617,7 +1618,17 @@
 		    // autocmd deleted the buffer
 		    break;
 	    }
+
+	// deathtrap() blocks autocommands, but we do want to trigger
+	// VimLeavePre.
+	if (is_autocmd_blocked())
+	{
+	    unblock_autocmds();
+	    ++unblock;
+	}
 	apply_autocmds(EVENT_VIMLEAVEPRE, NULL, NULL, FALSE, curbuf);
+	if (unblock)
+	    block_autocmds();
     }
 
 #ifdef FEAT_VIMINFO