summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-03-28 21:49:32 +0100
committerBram Moolenaar <Bram@vim.org>2014-03-28 21:49:32 +0100
commit3d6db1467b9c3737fcf61e03209f2ffcea5a4bca (patch)
tree73a70078ba31991c031aabcb4e9d5f3f5721e3b6
parent76f3b1ad77188182e3c924d1e70269c171b9ecc5 (diff)
downloadvim-3d6db1467b9c3737fcf61e03209f2ffcea5a4bca.zip
updated for version 7.4.226
Problem: Cursurline highlighting not redrawn when scrolling. (John Marriott) Solution: Check for required redraw in two places.
-rw-r--r--src/move.c42
-rw-r--r--src/version.c2
2 files changed, 28 insertions, 16 deletions
diff --git a/src/move.c b/src/move.c
index 1c93ea6da..42f778438 100644
--- a/src/move.c
+++ b/src/move.c
@@ -20,6 +20,7 @@
#include "vim.h"
static void comp_botline __ARGS((win_T *wp));
+static void redraw_for_cursorline __ARGS((win_T *wp));
static int scrolljump_value __ARGS((void));
static int check_top_offset __ARGS((void));
static void curs_rows __ARGS((win_T *wp, int do_botline));
@@ -106,6 +107,7 @@ comp_botline(wp)
#ifdef FEAT_FOLDING
wp->w_cline_folded = folded;
#endif
+ redraw_for_cursorline(wp);
wp->w_valid |= (VALID_CROW|VALID_CHEIGHT);
}
if (done + n > wp->w_height)
@@ -124,6 +126,27 @@ comp_botline(wp)
}
/*
+ * Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
+ * set.
+ */
+ static void
+redraw_for_cursorline(wp)
+ win_T *wp;
+{
+ if ((wp->w_p_rnu
+#ifdef FEAT_SYN_HL
+ || wp->w_p_cul
+#endif
+ )
+ && (wp->w_valid & VALID_CROW) == 0
+# ifdef FEAT_INS_EXPAND
+ && !pum_visible()
+# endif
+ )
+ redraw_win_later(wp, SOME_VALID);
+}
+
+/*
* Update curwin->w_topline and redraw if necessary.
* Used to update the screen before printing a message.
*/
@@ -772,20 +795,7 @@ curs_rows(wp, do_botline)
}
}
- /* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
- * set. */
- if ((curwin->w_p_rnu
-#ifdef FEAT_SYN_HL
- || curwin->w_p_cul
-#endif
- )
- && (curwin->w_valid & VALID_CROW) == 0
-# ifdef FEAT_INS_EXPAND
- && !pum_visible()
-# endif
- )
- redraw_later(SOME_VALID);
-
+ redraw_for_cursorline(curwin);
wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
/* validate botline too, if update_screen doesn't do it */
@@ -2504,8 +2514,8 @@ onepage(dir, count)
}
comp_botline(curwin);
curwin->w_cursor.lnum = curwin->w_botline - 1;
- curwin->w_valid &= ~(VALID_WCOL|VALID_CHEIGHT|
- VALID_WROW|VALID_CROW);
+ curwin->w_valid &=
+ ~(VALID_WCOL|VALID_CHEIGHT|VALID_WROW|VALID_CROW);
}
else
{
diff --git a/src/version.c b/src/version.c
index 188ad745c..06cc7f6a3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 226,
+/**/
225,
/**/
224,