Mercurial > vim
diff src/drawscreen.c @ 30635:604d7d7aa043 v9.0.0652
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Commit: https://github.com/vim/vim/commit/b6aab8f44beb8c5d99393abdc2c9faab085c72aa
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Oct 3 20:01:16 2022 +0100
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Problem: 'smoothscroll' not tested with 'number' and "n" in 'cpo'.
Solution: Add tests, fix uncovered problem.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 03 Oct 2022 21:15:03 +0200 |
parents | 86683eee58ac |
children | dfb02f9dcbe8 |
line wrap: on
line diff
--- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -1552,6 +1552,26 @@ win_update(win_T *wp) init_search_hl(wp, &screen_search_hl); #endif + // Make sure skipcol is valid, it depends on various options and the window + // width. + if (wp->w_skipcol > 0) + { + int w = 0; + int width1 = wp->w_width - win_col_off(wp); + int width2 = width1 + win_col_off2(wp); + int add = width1; + + while (w < wp->w_skipcol) + { + if (w > 0) + add = width2; + w += add; + } + if (w != wp->w_skipcol) + // always round down, the higher value may not be valid + wp->w_skipcol = w - add; + } + #ifdef FEAT_LINEBREAK // Force redraw when width of 'number' or 'relativenumber' column // changes.