patch 8.0.0858: can exit while a terminal is still running a job
Problem: Can exit while a terminal is still running a job.
Solution: Consider a buffer with a running job like a changed file.
diff --git a/src/undo.c b/src/undo.c
index 6ab8572..b913841 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -3522,21 +3522,18 @@
int
bufIsChanged(buf_T *buf)
{
- return
-#ifdef FEAT_QUICKFIX
- !bt_dontwrite(buf) &&
+#ifdef FEAT_TERMINAL
+ if (term_job_running(buf->b_term))
+ return TRUE;
#endif
- (buf->b_changed || file_ff_differs(buf, TRUE));
+ return !bt_dontwrite(buf)
+ && (buf->b_changed || file_ff_differs(buf, TRUE));
}
int
curbufIsChanged(void)
{
- return
-#ifdef FEAT_QUICKFIX
- !bt_dontwrite(curbuf) &&
-#endif
- (curbuf->b_changed || file_ff_differs(curbuf, TRUE));
+ return bufIsChanged(curbuf);
}
#if defined(FEAT_EVAL) || defined(PROTO)