aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/normal.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-12-09 23:00:03 +0100
committerJustin M. Keyes <justinkz@gmail.com>2018-12-09 23:07:28 +0100
commit20620bae76deddd892df2d33f9e745efd5d8598b (patch)
tree8c43e2387210e7a561dad08b2cda8e0370f0eb72 /src/nvim/normal.c
parent857a7312d015350c9637548310c7a187637d3ca4 (diff)
parent4e2981081796c8618caa4bed30d12e1e8fc8ae08 (diff)
downloadrneovim-20620bae76deddd892df2d33f9e745efd5d8598b.tar.gz
rneovim-20620bae76deddd892df2d33f9e745efd5d8598b.tar.bz2
rneovim-20620bae76deddd892df2d33f9e745efd5d8598b.zip
Merge #9306 'vim-patch: integrate xdiff library'
closes #1466 closes #1007 closes #1391
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r--src/nvim/normal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index f87de52a82..38ee0936aa 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -1325,6 +1325,14 @@ static int normal_check(VimState *state)
normal_check_cursor_moved(s);
normal_check_text_changed(s);
+ // Updating diffs from changed() does not always work properly,
+ // esp. updating folds. Do an update just before redrawing if
+ // needed.
+ if (curtab->tp_diff_update || curtab->tp_diff_invalid) {
+ ex_diffupdate(NULL);
+ curtab->tp_diff_update = false;
+ }
+
// Scroll-binding for diff mode may have been postponed until
// here. Avoids doing it for every change.
if (diff_need_scrollbind) {