Mercurial > vim
diff src/ex_cmds.c @ 11957:bc0fee081e1e
patch 8.0.0858: can exit while a terminal is still running a job
commit https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Aug 3 22:44:55 2017 +0200
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.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 03 Aug 2017 22:45:04 +0200 |
parents | 5ceaecedbad2 |
children | 59c1e09cf1a9 |
line wrap: on
line diff
--- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -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;