diff src/drawline.c @ 28177:f04a3ec65e2d v8.2.4614

patch 8.2.4614: redrawing too much when 'cursorline' is set Commit: https://github.com/vim/vim/commit/c20e46a4e3efcd408ef132872238144ea34f7ae5 Author: zeertzjq <zeertzjq@outlook.com> Date: Wed Mar 23 14:55:23 2022 +0000 patch 8.2.4614: redrawing too much when 'cursorline' is set Problem: Redrawing too much when 'cursorline' is set and jumping around. Solution: Rely on win_update() to redraw the current and previous cursor line, do not mark lines as modified. (closes #9996)
author Bram Moolenaar <Bram@vim.org>
date Wed, 23 Mar 2022 16:00:03 +0100
parents bef82285dda0
children d770568e6c98
line wrap: on
line diff
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -945,8 +945,7 @@ win_line(
     if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
     {
 	// Do not show the cursor line in the text when Visual mode is active,
-	// because it's not clear what is selected then.  Do update
-	// w_last_cursorline.
+	// because it's not clear what is selected then.
 	if (!(wp == curwin && VIsual_active)
 					 && wp->w_p_culopt_flags != CULOPT_NBR)
 	{
@@ -971,18 +970,14 @@ win_line(
 		else
 # endif
 		    line_attr = cul_attr;
-		wp->w_last_cursorline = wp->w_cursor.lnum;
 	    }
 	    else
 	    {
 		line_attr_save = line_attr;
-		wp->w_last_cursorline = 0;
 		margin_columns_win(wp, &left_curline_col, &right_curline_col);
 	    }
 	    area_highlighting = TRUE;
 	}
-	else
-	    wp->w_last_cursorline = wp->w_cursor.lnum;
     }
 #endif