From 9506cad7a1a6e52a613f356de969cbd980815777 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 15 Jan 2017 13:53:49 +0100 Subject: [PATCH] patch 8.0.0188: redrawing for 'cursorbind' is inefficient Problem: Using NOT_VALID for redraw_later() to update the cursor line/column highlighting is not efficient. Solution: Call validate_cursor() when 'cul' or 'cuc' is set. --- src/move.c | 6 ++---- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/move.c b/src/move.c index 5968a8b08..e2639fd20 100644 --- a/src/move.c +++ b/src/move.c @@ -2841,17 +2841,15 @@ do_check_cursorbind(void) restart_edit_save = restart_edit; restart_edit = TRUE; check_cursor(); -# ifdef FEAT_SYN_HL - if (curwin->w_p_cuc) + if (curwin->w_p_cul || curwin->w_p_cuc) validate_cursor(); -# endif restart_edit = restart_edit_save; # ifdef FEAT_MBYTE /* Correct cursor for multi-byte character. */ if (has_mbyte) mb_adjust_cursor(); # endif - redraw_later(curwin->w_p_cul ? NOT_VALID : VALID); + redraw_later(VALID); /* Only scroll when 'scrollbind' hasn't done this. */ if (!curwin->w_p_scb) diff --git a/src/version.c b/src/version.c index 814934ded..8cb6cb8a2 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 188, /**/ 187, /**/