Mercurial > vim
diff src/window.c @ 32363:c114eebb5268 v9.0.1513
patch 9.0.1513: text scrolls unnecessarily when splitting
Commit: https://github.com/vim/vim/commit/b926bf47d61360a4ec5e4867714a08d70fd49965
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Sat May 6 12:53:50 2023 +0100
patch 9.0.1513: text scrolls unnecessarily when splitting
Problem: Text scrolls unnecessarily when splitting and 'splitkeep' is not
"cursor".
Solution: Avoid resetting w_skipcol. (Luuk van Baal, closes #12334)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 May 2023 14:00:04 +0200 |
parents | 23d44be6ec20 |
children | bfc23ba1bba5 |
line wrap: on
line diff
--- a/src/window.c +++ b/src/window.c @@ -1453,6 +1453,8 @@ win_init(win_T *newp, win_T *oldp, int f if (*p_spk != 'c') { + if (*p_spk == 't') + newp->w_skipcol = oldp->w_skipcol; newp->w_botline = oldp->w_botline; newp->w_prev_height = oldp->w_height - WINBAR_HEIGHT(oldp); newp->w_prev_winrow = oldp->w_winrow + 2 * WINBAR_HEIGHT(oldp); @@ -6860,14 +6862,16 @@ win_new_height(win_T *wp, int height) } wp->w_height = height; - wp->w_skipcol = 0; wp->w_redr_status = TRUE; win_comp_scroll(wp); // There is no point in adjusting the scroll position when exiting. Some // values might be invalid. if (!exiting && *p_spk == 'c') + { + wp->w_skipcol = 0; scroll_to_fraction(wp, prev_height); + } } void