updated for version 7.3.449
Problem:    Crash when a BufWinLeave autocommand closes the only other window.
            (Daniel Hunt)
Solution:   Abort closing a buffer when it becomes the only one.
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index df9c0b4..2395712 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -1,7 +1,7 @@
 /* buffer.c */
 int open_buffer __ARGS((int read_stdin, exarg_T *eap, int flags));
 int buf_valid __ARGS((buf_T *buf));
-void close_buffer __ARGS((win_T *win, buf_T *buf, int action));
+void close_buffer __ARGS((win_T *win, buf_T *buf, int action, int abort_if_last));
 void buf_clear_file __ARGS((buf_T *buf));
 void buf_freeall __ARGS((buf_T *buf, int flags));
 void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 7b019a7..d56ae1b 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -1,13 +1,14 @@
 /* window.c */
 void do_window __ARGS((int nchar, long Prenum, int xchar));
 int win_split __ARGS((int size, int flags));
-int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir));
+int win_split_ins __ARGS((int size, int flags, win_T *new_wp, int dir));
 int win_valid __ARGS((win_T *win));
 int win_count __ARGS((void));
 int make_windows __ARGS((int count, int vertical));
 void win_move_after __ARGS((win_T *win1, win_T *win2));
 void win_equal __ARGS((win_T *next_curwin, int current, int dir));
 void close_windows __ARGS((buf_T *buf, int keep_curwin));
+int one_window __ARGS((void));
 void win_close __ARGS((win_T *win, int free_buf));
 void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
 void win_free_all __ARGS((void));