diff options
author | Bram Moolenaar <Bram@vim.org> | 2012-02-22 14:58:37 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2012-02-22 14:58:37 +0100 |
commit | 42ec656524db254001caee8feb58d26f67b52fbe (patch) | |
tree | 1ca4411bcc3addd4cd05a3ed629193c6ca04409c /src/proto | |
parent | fb7df7be2f7c80428a3379010ca701689c85aa12 (diff) | |
download | vim-git-42ec656524db254001caee8feb58d26f67b52fbe.tar.gz |
updated for version 7.3.449v7.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.
Diffstat (limited to 'src/proto')
-rw-r--r-- | src/proto/buffer.pro | 2 | ||||
-rw-r--r-- | src/proto/window.pro | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro index df9c0b478..23957124d 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 7b019a780..d56ae1b33 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)); |