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