patch 9.2.0445: win_fix_scroll() called before win_comp_pos() in 
command_height()

Commit: 
https://github.com/vim/vim/commit/40fc78f0a185f003844334e7c9dd217d6d993143
Author: Jesse Rosenstock <[email protected]>
Date:   Tue May 5 19:50:46 2026 +0000

    patch 9.2.0445: win_fix_scroll() called before win_comp_pos() in 
command_height()
    
    Problem:  win_fix_scroll(true) is called before win_comp_pos() in
              command_height().
    Solution: Move win_fix_scroll(true) after win_comp_pos(), matching the
              ordering used in win_drag_status_line() (Jesse Rosenstock).
    
    Patch 9.2.0413 added win_fix_scroll(true) to command_height() to handle
    splitkeep when cmdheight changes, but placed the call before win_comp_pos().
    win_fix_scroll() reads w_winrow to detect window movement
    
(https://github.com/vim/vim/blob/620557bd48865fa3d927901764d2747bf68597b5/src/window.c#L7266),
    but w_winrow is not recomputed until win_comp_pos() runs
    
(https://github.com/vim/vim/blob/620557bd48865fa3d927901764d2747bf68597b5/src/window.c#L6516).
    This causes incorrect scroll adjustments and was breaking
    Test_smoothscroll_incsearch on macOS CI.
    
    closes: #20138
    
    Co-authored-by: Gemini
    Signed-off-by: Jesse Rosenstock <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/src/version.c b/src/version.c
index a859c2ced..4d3f68d05 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    445,
 /**/
     444,
 /**/
diff --git a/src/window.c b/src/window.c
index 8813ffa80..eb4e494d1 100644
--- a/src/window.c
+++ b/src/window.c
@@ -7591,10 +7591,10 @@ command_height(void)
     }
     if (p_ch < old_p_ch && command_frame_height && frp != NULL)
        frame_add_height(frp, (int)(old_p_ch - p_ch));
-    win_fix_scroll(true);
 
     // Recompute window positions.
     win_comp_pos();
+    win_fix_scroll(true);
     cmdline_row = Rows - p_ch;
     redraw_cmdline = TRUE;
 

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1wKLw6-007ZSN-Cc%40256bit.org.

Raspunde prin e-mail lui