]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.226 v7.4.226
authorBram Moolenaar <Bram@vim.org>
Fri, 28 Mar 2014 20:49:32 +0000 (21:49 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 28 Mar 2014 20:49:32 +0000 (21:49 +0100)
Problem:    Cursurline highlighting not redrawn when scrolling. (John
            Marriott)
Solution:   Check for required redraw in two places.

src/move.c
src/version.c

index 1c93ea6da2898b495625561b171379ea8fee8848..42f778438fc4021ce4d7a26c6a00920f2eaf5c96 100644 (file)
@@ -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)
@@ -123,6 +125,27 @@ comp_botline(wp)
     set_empty_rows(wp, done);
 }
 
+/*
+ * 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
                {
index 188ad745ccc438fb965675aa4fb576e48f168722..06cc7f6a303fe7eb77c5979f7069cb96a5e6a22a 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    226,
 /**/
     225,
 /**/