From 15b314ffbb93f934b72cb71aa8f881caea026256 Mon Sep 17 00:00:00 2001 From: Yee Cheng Chin Date: Sun, 9 Oct 2022 18:53:32 +0100 Subject: patch 9.0.0708: :confirm does not work properly for a terminal buffer Problem: :confirm does not work properly for a terminal buffer. Solution: Handle :confirm for a terminal buffer differently. (Yee Cheng Chin, closes #11312) --- src/ex_cmds2.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/ex_cmds2.c') diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 3db15922fa..c13d354bc1 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -86,6 +86,13 @@ check_changed(buf_T *buf, int flags) #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) if ((p_confirm || (cmdmod.cmod_flags & CMOD_CONFIRM)) && p_write) { +# ifdef FEAT_TERMINAL + if (term_job_running(buf->b_term)) + { + return term_confirm_stop(buf) == FAIL; + } +# endif + buf_T *buf2; int count = 0; @@ -198,6 +205,7 @@ dialog_changed( || (cmdmod.cmod_flags & CMOD_BROWSE) #endif ) + && !bt_dontwrite(buf2) && !buf2->b_p_ro) { bufref_T bufref; -- cgit v1.2.3