From 11249ad0216c6dac1ba20558038d0fb75add0495 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Tue, 10 Mar 2020 21:42:50 -0400 Subject: vim-patch:8.0.0953: get "no write since last change" error in terminal window Problem: Get "no write since last change" error in terminal window. Solution: Use another message when closing a terminal window. Make ":quit!" also end the job. https://github.com/vim/vim/commit/f5be7cd01642fafc4b7d68894eb60cca60c7a405 --- src/nvim/buffer.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/nvim/buffer.c') diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index ffa44c33cd..a46784fdb6 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -1637,12 +1637,22 @@ void do_autochdir(void) void no_write_message(void) { - EMSG(_("E37: No write since last change (add ! to override)")); + if (curbuf->terminal + && channel_job_running((uint64_t)curbuf->b_p_channel)) { + EMSG(_("E948: Job still running (add ! to end the job)")); + } else { + EMSG(_("E37: No write since last change (add ! to override)")); + } } void no_write_message_nobang(void) { - EMSG(_("E37: No write since last change")); + if (curbuf->terminal + && channel_job_running((uint64_t)curbuf->b_p_channel)) { + EMSG(_("E948: Job still running")); + } else { + EMSG(_("E37: No write since last change")); + } } // -- cgit