diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-03-28 21:49:32 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-03-28 21:49:32 +0100 |
commit | 3d6db1467b9c3737fcf61e03209f2ffcea5a4bca (patch) | |
tree | 73a70078ba31991c031aabcb4e9d5f3f5721e3b6 | |
parent | 76f3b1ad77188182e3c924d1e70269c171b9ecc5 (diff) | |
download | vim-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.c | 42 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |