0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

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.
This commit is contained in:
Bram Moolenaar
2017-08-03 22:44:55 +02:00
parent 620d064b0b
commit eb44a68b42
11 changed files with 55 additions and 50 deletions

View File

@@ -3561,7 +3561,7 @@ getfile(
if (other)
++no_wait_return; /* don't wait for autowrite message */
if (other && !forceit && curbuf->b_nwindows == 1 && !P_HID(curbuf)
if (other && !forceit && curbuf->b_nwindows == 1 && !buf_hide(curbuf)
&& curbufIsChanged() && autowrite(curbuf, forceit) == FAIL)
{
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
@@ -3590,7 +3590,7 @@ getfile(
retval = GETFILE_SAME_FILE; /* it's in the same file */
}
else if (do_ecmd(fnum, ffname, sfname, NULL, lnum,
(P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0),
(buf_hide(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0),
curwin) == OK)
retval = GETFILE_OPEN_OTHER; /* opened another file */
else
@@ -8401,7 +8401,7 @@ ex_drop(exarg_T *eap)
* Skip the check if the 'hidden' option is set, as in this case the
* buffer won't be lost.
*/
if (!P_HID(curbuf))
if (!buf_hide(curbuf))
{
# ifdef FEAT_WINDOWS
++emsg_off;