aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/change.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-08-31 14:06:45 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-09-04 21:21:28 +0200
commit83c5701fe6d182c2f458b95d09114d9c861f8893 (patch)
tree76b83432a84a3f603bb35bd0452c73d12d4d6020 /src/nvim/change.c
parentd7aea13fee879a5e7854f2ebe9b7321cd8daf84f (diff)
downloadrneovim-83c5701fe6d182c2f458b95d09114d9c861f8893.tar.gz
rneovim-83c5701fe6d182c2f458b95d09114d9c861f8893.tar.bz2
rneovim-83c5701fe6d182c2f458b95d09114d9c861f8893.zip
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. https://github.com/vim/vim/commit/c024b4667875e5bc6fd0ed791530e33c3161bff7
Diffstat (limited to 'src/nvim/change.c')
-rw-r--r--src/nvim/change.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/nvim/change.c b/src/nvim/change.c
index f8a4cf4282..3401f8a0a8 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -478,9 +478,11 @@ changed_lines(
}
}
-/// Called when the changed flag must be reset for buffer "buf".
-/// When "ff" is true also reset 'fileformat'.
-void unchanged(buf_T *buf, int ff)
+/// Called when the changed flag must be reset for buffer `buf`.
+/// When `ff` is true also reset 'fileformat'.
+/// When `always_inc_changedtick` is true b:changedtick is incremented even
+/// when the changed flag was off.
+void unchanged(buf_T *buf, int ff, bool always_inc_changedtick)
{
if (buf->b_changed || (ff && file_ff_differs(buf, false))) {
buf->b_changed = false;
@@ -491,8 +493,10 @@ void unchanged(buf_T *buf, int ff)
check_status(buf);
redraw_tabline = true;
need_maketitle = true; // set window title later
+ buf_inc_changedtick(buf);
+ } else if (always_inc_changedtick) {
+ buf_inc_changedtick(buf);
}
- buf_inc_changedtick(buf);
}
/// Insert string "p" at the cursor position. Stops at a NUL byte.