patch 8.1.0856: when scrolling a window the cursorline is not always updated
Problem: When scrolling a window other than the current one the cursorline
highlighting is not always updated. (Jason Franklin)
Solution: Call redraw_for_cursorline() after scrolling. Only set
w_last_cursorline when drawing the cursor line. Reset the lines
to be redrawn also when redrawing the whole window.
diff --git a/src/move.c b/src/move.c
index 404b235..14b7a6e 100644
--- a/src/move.c
+++ b/src/move.c
@@ -19,7 +19,6 @@
#include "vim.h"
-static void redraw_for_cursorline(win_T *wp);
static int scrolljump_value(void);
static int check_top_offset(void);
static void curs_rows(win_T *wp);
@@ -128,7 +127,7 @@
* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
* set.
*/
- static void
+ void
redraw_for_cursorline(win_T *wp)
{
if ((wp->w_p_rnu
@@ -158,7 +157,6 @@
}
else
redraw_win_later(wp, SOME_VALID);
- wp->w_last_cursorline = wp->w_cursor.lnum;
}
#endif
}