forked from aniani/vim
patch 8.1.1498: ":write" increments b:changedtick even though nothing changed
Problem: ":write" increments b:changedtick even though nothing changed. (Daniel Hahler) Solution: Only increment b:changedtick if the modified flag is reset.
This commit is contained in:
@@ -4908,8 +4908,8 @@ restore_backup:
|
||||
&& !write_info.bw_conv_error
|
||||
&& (overwriting || vim_strchr(p_cpo, CPO_PLUS) != NULL))
|
||||
{
|
||||
unchanged(buf, TRUE);
|
||||
/* b:changedtick is always incremented in unchanged() but that
|
||||
unchanged(buf, TRUE, FALSE);
|
||||
/* b:changedtick is may be incremented in unchanged() but that
|
||||
* should not trigger a TextChanged event. */
|
||||
if (buf->b_last_changedtick + 1 == CHANGEDTICK(buf))
|
||||
buf->b_last_changedtick = CHANGEDTICK(buf);
|
||||
@@ -7081,7 +7081,7 @@ buf_reload(buf_T *buf, int orig_mode)
|
||||
else if (buf == curbuf) /* "buf" still valid */
|
||||
{
|
||||
/* Mark the buffer as unmodified and free undo info. */
|
||||
unchanged(buf, TRUE);
|
||||
unchanged(buf, TRUE, TRUE);
|
||||
if ((flags & READ_KEEP_UNDO) == 0)
|
||||
{
|
||||
u_blockfree(buf);
|
||||
|
Reference in New Issue
Block a user