From c024b4667875e5bc6fd0ed791530e33c3161bff7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 8 Jun 2019 18:07:21 +0200 Subject: 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. --- src/fileio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/fileio.c') diff --git a/src/fileio.c b/src/fileio.c index d746298a7c..e6fb6bfaee 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -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); -- cgit v1.2.3