diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-07-02 17:16:58 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-07-02 17:16:58 +0200 |
commit | dab70c63e16687b2cb784a3a9eecdbea6ecd7065 (patch) | |
tree | d2e22231a6cd47939427e20f9f914f5a6985d219 /src/screen.c | |
parent | e7eb789ef0d2dadf5824a0c6fbd452b1feb272e2 (diff) | |
download | vim-git-dab70c63e16687b2cb784a3a9eecdbea6ecd7065.tar.gz |
updated for version 7.4.349v7.4.349
Problem: When there are matches to highlight the whole window is redrawn,
which is slow.
Solution: Only redraw everything when lines were inserted or deleted.
Reset b_mod_xlines when needed. (Alexey Radkov)
Diffstat (limited to 'src/screen.c')
-rw-r--r-- | src/screen.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/screen.c b/src/screen.c index 8e616915b..65aadc423 100644 --- a/src/screen.c +++ b/src/screen.c @@ -1769,8 +1769,10 @@ win_update(wp) syntax_check_changed(lnum))) #endif #ifdef FEAT_SEARCH_EXTRA - /* match in fixed position might need redraw */ - || wp->w_match_head != NULL + /* match in fixed position might need redraw + * if lines were inserted or deleted */ + || (wp->w_match_head != NULL + && buf->b_mod_xlines != 0) #endif ))))) { |