diff --git a/7.4.226 b/7.4.226 new file mode 100644 index 0000000..7c00c3d --- /dev/null +++ b/7.4.226 @@ -0,0 +1,136 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.226 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.226 (after 7.4.219) +Problem: Cursurline highlighting not redrawn when scrolling. (John + Marriott) +Solution: Check for required redraw in two places. +Files: src/move.c + + +*** ../vim-7.4.225/src/move.c 2014-03-27 12:11:43.888393741 +0100 +--- src/move.c 2014-03-28 21:45:56.958245561 +0100 +*************** +*** 20,25 **** +--- 20,26 ---- + #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,111 **** +--- 107,113 ---- + #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,129 **** +--- 126,152 ---- + } + + /* ++ * 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,791 **** + } + } + +! /* 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 */ +--- 795,801 ---- + } + } + +! redraw_for_cursorline(curwin); + wp->w_valid |= VALID_CROW|VALID_CHEIGHT; + + /* validate botline too, if update_screen doesn't do it */ +*************** +*** 2504,2511 **** + } + comp_botline(curwin); + curwin->w_cursor.lnum = curwin->w_botline - 1; +! curwin->w_valid &= ~(VALID_WCOL|VALID_CHEIGHT| +! VALID_WROW|VALID_CROW); + } + else + { +--- 2514,2521 ---- + } + comp_botline(curwin); + curwin->w_cursor.lnum = curwin->w_botline - 1; +! curwin->w_valid &= +! ~(VALID_WCOL|VALID_CHEIGHT|VALID_WROW|VALID_CROW); + } + else + { +*** ../vim-7.4.225/src/version.c 2014-03-27 19:08:52.008777244 +0100 +--- src/version.c 2014-03-28 21:48:45.330248141 +0100 +*************** +*** 736,737 **** +--- 736,739 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 226, + /**/ + +-- +Bad fashion can discourage normal people from interacting with the engineer +and talking about the cute things their children do. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///