aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2021-08-31 07:24:25 -0700
committerGitHub <noreply@github.com>2021-08-31 07:24:25 -0700
commit284199bc4bf36bb74c481da9c8b2a43c1bbbeb51 (patch)
tree336bf2b82126e5efa3d6f149d4a6026ef1a24d54 /src/nvim/buffer.c
parent9695691ee4868ea9fdd8a6d84b9980fc22c77aa3 (diff)
parent3c081d028062f793b63b8689f854bbea30e15752 (diff)
downloadrneovim-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.c32
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;
}
}