updated for version 7.4.320
Problem: Possible crash when an BufLeave autocommand deletes the buffer.
Solution: Check for the window pointer being valid. Postpone freeing the
window until autocommands are done. (Yasuhiro Matsumoto)
diff --git a/src/window.c b/src/window.c
index fe6f335..f4dea1d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4597,7 +4597,13 @@
if (wp != aucmd_win)
#endif
win_remove(wp, tp);
- vim_free(wp);
+ if (autocmd_busy)
+ {
+ wp->w_next = au_pending_free_win;
+ au_pending_free_win = wp;
+ }
+ else
+ vim_free(wp);
#ifdef FEAT_AUTOCMD
unblock_autocmds();