Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
17850:513f2890d474 | 17851:ba63a184e6b6 |
---|---|
565 FOR_ALL_BUFFERS(buf) | 565 FOR_ALL_BUFFERS(buf) |
566 invoke_listeners(buf); | 566 invoke_listeners(buf); |
567 } | 567 } |
568 #endif | 568 #endif |
569 | 569 |
570 #ifdef FEAT_DIFF | |
571 // May have postponed updating diffs. | |
572 if (need_diff_redraw) | |
573 diff_redraw(TRUE); | |
574 #endif | |
575 | |
570 if (must_redraw) | 576 if (must_redraw) |
571 { | 577 { |
572 if (type < must_redraw) /* use maximal type */ | 578 if (type < must_redraw) /* use maximal type */ |
573 type = must_redraw; | 579 type = must_redraw; |
574 | 580 |