diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2021-08-31 07:24:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-31 07:24:25 -0700 |
commit | 284199bc4bf36bb74c481da9c8b2a43c1bbbeb51 (patch) | |
tree | 336bf2b82126e5efa3d6f149d4a6026ef1a24d54 /src/nvim/buffer.c | |
parent | 9695691ee4868ea9fdd8a6d84b9980fc22c77aa3 (diff) | |
parent | 3c081d028062f793b63b8689f854bbea30e15752 (diff) | |
download | rneovim-284199bc4bf36bb74c481da9c8b2a43c1bbbeb51.tar.gz rneovim-284199bc4bf36bb74c481da9c8b2a43c1bbbeb51.tar.bz2 rneovim-284199bc4bf36bb74c481da9c8b2a43c1bbbeb51.zip |
Merge #15402 fix(terminal): close without ! if the job is stopped
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r-- | src/nvim/buffer.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index fdb3ffdc7e..81f8b9073e 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -1218,8 +1218,8 @@ do_buffer( return FAIL; } - if (!forceit && (buf->terminal || bufIsChanged(buf))) { - if ((p_confirm || cmdmod.confirm) && p_write && !buf->terminal) { + if (!forceit && bufIsChanged(buf)) { + if ((p_confirm || cmdmod.confirm) && p_write) { dialog_changed(buf, false); if (!bufref_valid(&bufref)) { // Autocommand deleted buffer, oops! It's not changed now. @@ -1231,22 +1231,22 @@ do_buffer( return FAIL; } } else { - if (buf->terminal) { - if (p_confirm || cmdmod.confirm) { - if (!dialog_close_terminal(buf)) { - return FAIL; - } - } else { - EMSG2(_("E89: %s will be killed (add ! to override)"), - (char *)buf->b_fname); - return FAIL; - } - } else { - EMSGN(_("E89: No write since last change for buffer %" PRId64 - " (add ! to override)"), - buf->b_fnum); + EMSGN(_("E89: No write since last change for buffer %" PRId64 + " (add ! to override)"), + buf->b_fnum); + return FAIL; + } + } + + if (!forceit && buf->terminal && terminal_running(buf->terminal)) { + if (p_confirm || cmdmod.confirm) { + if (!dialog_close_terminal(buf)) { return FAIL; } + } else { + EMSG2(_("E89: %s will be killed (add ! to override)"), + (char *)buf->b_fname); + return FAIL; } } |