Mercurial > vim
diff src/terminal.c @ 18402:527b7084c556 v8.1.2195
patch 8.1.2195: Vim does not exit when the terminal window is last window
Commit: https://github.com/vim/vim/commit/4d14bac8e7441368977e81266166f728105a60d4
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 20 21:15:15 2019 +0200
patch 8.1.2195: Vim does not exit when the terminal window is last window
Problem: Vim does not exit when closing a terminal window and it is the
last window.
Solution: Exit Vim if the closed terminal window is the last one.
(closes #4539)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 20 Oct 2019 21:30:03 +0200 |
parents | 506bf60a30a0 |
children | 3a3efaaa05c5 |
line wrap: on
line diff
--- a/src/terminal.c +++ b/src/terminal.c @@ -3073,6 +3073,16 @@ term_after_channel_closed(term_T *term) aco_save_T aco; int do_set_w_closing = term->tl_buffer->b_nwindows == 0; + // If this is the last normal window: exit Vim. + if (term->tl_buffer->b_nwindows > 0 && only_one_window()) + { + exarg_T ea; + + vim_memset(&ea, 0, sizeof(ea)); + ex_quit(&ea); + return TRUE; + } + // ++close or term_finish == "close" ch_log(NULL, "terminal job finished, closing window"); aucmd_prepbuf(&aco, term->tl_buffer);