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)
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 3db1592..c13d354 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -86,6 +86,13 @@
#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 @@
|| (cmdmod.cmod_flags & CMOD_BROWSE)
#endif
)
+ && !bt_dontwrite(buf2)
&& !buf2->b_p_ro)
{
bufref_T bufref;