diff src/screen.c @ 17851:ba63a184e6b6 v8.1.1922

patch 8.1.1922: in diff mode global operations can be very slow Commit: https://github.com/vim/vim/commit/4f57eefe1e84b5a90e08474092ea6fc8825ad5c9 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 24 20:54:19 2019 +0200 patch 8.1.1922: in diff mode global operations can be very slow Problem: In diff mode global operations can be very slow. Solution: Do not call diff_redraw() many times, call it once when redrawing. And also don't update folds multiple times.
author Bram Moolenaar <Bram@vim.org>
date Sat, 24 Aug 2019 21:00:06 +0200
parents 59f8948b7590
children 079e10a49ea1
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -567,6 +567,12 @@ update_screen(int type_arg)
     }
 #endif
 
+#ifdef FEAT_DIFF
+    // May have postponed updating diffs.
+    if (need_diff_redraw)
+	diff_redraw(TRUE);
+#endif
+
     if (must_redraw)
     {
 	if (type < must_redraw)	    /* use maximal type */