]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.219 v7.4.219
authorBram Moolenaar <Bram@vim.org>
Thu, 27 Mar 2014 11:11:48 +0000 (12:11 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 27 Mar 2014 11:11:48 +0000 (12:11 +0100)
Problem:    When 'relativenumber' or 'cursorline' are set the window is
            redrawn much to often. (Patrick Hemmer, Dominique Pelle)
Solution:   Check the VALID_CROW flag instead of VALID_WROW.

src/move.c
src/version.c

index fff0c9c07f596e850ea68ac18baa0238fc16bd90..1c93ea6da2898b495625561b171379ea8fee8848 100644 (file)
@@ -772,6 +772,20 @@ 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);
+
     wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
 
     /* validate botline too, if update_screen doesn't do it */
@@ -1172,22 +1186,15 @@ curs_columns(may_scroll)
     if (prev_skipcol != curwin->w_skipcol)
        redraw_later(NOT_VALID);
 
-    /* Redraw when w_row changes and 'relativenumber' is set */
-    if (((curwin->w_valid & VALID_WROW) == 0 && (curwin->w_p_rnu
 #ifdef FEAT_SYN_HL
-       /* or when w_row changes and 'cursorline' is set. */
-                                               || curwin->w_p_cul
-#endif
-       ))
-#ifdef FEAT_SYN_HL
-       /* or when w_virtcol changes and 'cursorcolumn' is set */
-       || (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0)
-#endif
-       )
+    /* Redraw when w_virtcol changes and 'cursorcolumn' is set */
+    if (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0
 # ifdef FEAT_INS_EXPAND
-           if (!pum_visible())
+           && !pum_visible()
 # endif
-               redraw_later(SOME_VALID);
+       )
+       redraw_later(SOME_VALID);
+#endif
 
     curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
 }
index e5e75fbec9d23d3fd8cdfe4ac7c0da7d88058103..0f5fb5a5164d21546021b1eb60f76b48cc68dfc2 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    219,
 /**/
     218,
 /**/