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);