mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 07:18:17 +00:00
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.
f5be7cd016
This commit is contained in:
@@ -1425,7 +1425,7 @@ do_buffer(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (bufIsChanged(curbuf)) {
|
if (bufIsChanged(curbuf)) {
|
||||||
EMSG(_(e_nowrtmsg));
|
no_write_message();
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1626,6 +1626,16 @@ void do_autochdir(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void no_write_message(void)
|
||||||
|
{
|
||||||
|
EMSG(_("E37: No write since last change (add ! to override)"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void no_write_message_nobang(void)
|
||||||
|
{
|
||||||
|
EMSG(_("E37: No write since last change"));
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// functions for dealing with the buffer list
|
// functions for dealing with the buffer list
|
||||||
//
|
//
|
||||||
|
@@ -2076,7 +2076,7 @@ int getfile(int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum,
|
|||||||
}
|
}
|
||||||
if (curbufIsChanged()) {
|
if (curbufIsChanged()) {
|
||||||
no_wait_return--;
|
no_wait_return--;
|
||||||
EMSG(_(e_nowrtmsg));
|
no_write_message();
|
||||||
retval = GETFILE_NOT_WRITTEN; // File has been changed.
|
retval = GETFILE_NOT_WRITTEN; // File has been changed.
|
||||||
goto theend;
|
goto theend;
|
||||||
}
|
}
|
||||||
|
@@ -1274,9 +1274,9 @@ bool check_changed(buf_T *buf, int flags)
|
|||||||
return bufIsChanged(buf);
|
return bufIsChanged(buf);
|
||||||
}
|
}
|
||||||
if (flags & CCGD_EXCMD) {
|
if (flags & CCGD_EXCMD) {
|
||||||
EMSG(_(e_nowrtmsg));
|
no_write_message();
|
||||||
} else {
|
} else {
|
||||||
EMSG(_(e_nowrtmsg_nobang));
|
no_write_message_nobang();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -6216,7 +6216,7 @@ ex_win_close(
|
|||||||
}
|
}
|
||||||
need_hide = false;
|
need_hide = false;
|
||||||
} else {
|
} else {
|
||||||
EMSG(_(e_nowrtmsg));
|
no_write_message();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -985,9 +985,6 @@ EXTERN char_u e_notmp[] INIT(= N_("E483: Can't get temp file name"));
|
|||||||
EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s"));
|
EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s"));
|
||||||
EXTERN char_u e_notopen_2[] INIT(= N_("E484: Can't open file %s: %s"));
|
EXTERN char_u e_notopen_2[] INIT(= N_("E484: Can't open file %s: %s"));
|
||||||
EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s"));
|
EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s"));
|
||||||
EXTERN char_u e_nowrtmsg[] INIT(= N_(
|
|
||||||
"E37: No write since last change (add ! to override)"));
|
|
||||||
EXTERN char_u e_nowrtmsg_nobang[] INIT(= N_("E37: No write since last change"));
|
|
||||||
EXTERN char_u e_null[] INIT(= N_("E38: Null argument"));
|
EXTERN char_u e_null[] INIT(= N_("E38: Null argument"));
|
||||||
EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected"));
|
EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected"));
|
||||||
EXTERN char_u e_openerrf[] INIT(= N_("E40: Can't open errorfile %s"));
|
EXTERN char_u e_openerrf[] INIT(= N_("E40: Can't open errorfile %s"));
|
||||||
|
@@ -2204,7 +2204,7 @@ static int qf_jump_edit_buffer(qf_info_T *qi, qfline_T *qf_ptr, int forceit,
|
|||||||
// Open help file (do_ecmd() will set b_help flag, readfile() will
|
// Open help file (do_ecmd() will set b_help flag, readfile() will
|
||||||
// set b_p_ro flag).
|
// set b_p_ro flag).
|
||||||
if (!can_abandon(curbuf, forceit)) {
|
if (!can_abandon(curbuf, forceit)) {
|
||||||
EMSG(_(e_nowrtmsg));
|
no_write_message();
|
||||||
retval = false;
|
retval = false;
|
||||||
} else {
|
} else {
|
||||||
retval = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
|
retval = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
|
||||||
|
Reference in New Issue
Block a user