1
0
forked from aniani/vim

patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd

Problem:    Cannot use :write when using a plugin with BufWriteCmd.
Solution:   Reset BF_NOTEDITED after BufWriteCmd. (closes #5807)
This commit is contained in:
Bram Moolenaar
2020-03-29 16:06:29 +02:00
parent 8601545338
commit 0fff44152d
3 changed files with 49 additions and 3 deletions

View File

@@ -261,11 +261,21 @@ readfile(
{
if (apply_autocmds_exarg(EVENT_BUFREADCMD, NULL, sfname,
FALSE, curbuf, eap))
{
int status = OK;
#ifdef FEAT_EVAL
return aborting() ? FAIL : OK;
#else
return OK;
if (aborting())
status = FAIL;
#endif
// The BufReadCmd code usually uses ":read" to get the text and
// perhaps ":file" to change the buffer name. But we should
// consider this to work like ":edit", thus reset the
// BF_NOTEDITED flag. Then ":write" will work to overwrite the
// same file.
if (status == OK)
curbuf->b_flags &= ~BF_NOTEDITED;
return status;
}
}
else if (apply_autocmds_exarg(EVENT_FILEREADCMD, sfname, sfname,
FALSE, NULL, eap))