From: Bram Moolenaar Date: Sun, 15 Jan 2017 12:53:49 +0000 (+0100) Subject: patch 8.0.0188: redrawing for 'cursorbind' is inefficient X-Git-Tag: v8.0.0188 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9506cad7a1a6e52a613f356de969cbd980815777;p=vim 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. --- 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, /**/