Mercurial > vim
diff src/window.c @ 30134:0211a930d873 v9.0.0403
patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Commit: https://github.com/vim/vim/commit/fd7e60a33ddd83a82da4eb6267f1c12fa926f32b
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Wed Sep 7 14:42:49 2022 +0100
patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Problem: 'equalalways' may be off when 'laststatus' is zero.
Solution: call last_status() before win_equal(). (Luuk van Baal,
closes #11070)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 07 Sep 2022 15:45:05 +0200 |
parents | b97a870a7c63 |
children | bc8ad1c28b51 |
line wrap: on
line diff
--- a/src/window.c +++ b/src/window.c @@ -2712,6 +2712,14 @@ win_close(win_T *win, int free_buf) // using the window. check_cursor(); } + + /* + * If last window has a status line now and we don't want one, remove the + * status line. Do this before win_equal(), because it may change the + * height of a window + */ + last_status(FALSE); + if (p_ea && (*p_ead == 'b' || *p_ead == dir)) // If the frame of the closed window contains the new current window, // only resize that frame. Otherwise resize all windows. @@ -2741,12 +2749,6 @@ win_close(win_T *win, int free_buf) --dont_parse_messages; #endif - /* - * If last window has a status line now and we don't want one, - * remove the status line. - */ - last_status(FALSE); - // After closing the help window, try restoring the window layout from // before it was opened. if (help_window)