aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r--src/nvim/main.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c
index ed055e76ba..41ae78e996 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -653,7 +653,18 @@ void getout(int exitval)
}
}
}
- apply_autocmds(EVENT_VIMLEAVEPRE, NULL, NULL, FALSE, curbuf);
+
+ int unblock = 0;
+ // 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();
+ }
}
if (p_shada && *p_shada != NUL) {