summaryrefslogtreecommitdiff
path: root/src/fileio.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-06-08 18:07:21 +0200
committerBram Moolenaar <Bram@vim.org>2019-06-08 18:07:21 +0200
commitc024b4667875e5bc6fd0ed791530e33c3161bff7 (patch)
tree4b7c358c24cb5f5d6d36a40250afbd44eaf6dda7 /src/fileio.c
parentaef5c62a6fff7654bb8df7b9359e811f7a6e428f (diff)
downloadvim-git-c024b4667875e5bc6fd0ed791530e33c3161bff7.tar.gz
patch 8.1.1498: ":write" increments b:changedtick even though nothing changedv8.1.1498
Problem: ":write" increments b:changedtick even though nothing changed. (Daniel Hahler) Solution: Only increment b:changedtick if the modified flag is reset.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c
index d746298a7..e6fb6bfae 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);