Merge pull request #20606 from zeertzjq/vim-8.2.4523

vim-patch:8.2.4523: when gvim is started maximized the 'window' option isn't set
This commit is contained in:
zeertzjq 2022-10-12 12:20:14 +08:00 committed by GitHub
commit f175ca9f7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 1 deletions

View File

@ -5226,7 +5226,7 @@ void win_new_screensize(void)
if (old_Rows != Rows) {
// If 'window' uses the whole screen, keep it using that.
// Don't change it when set with "-w size" on the command line.
if (p_window == old_Rows - 1 || (old_Rows == 0 && p_window == 0)) {
if (p_window == old_Rows - 1 || (old_Rows == 0 && !option_was_set("window"))) {
p_window = Rows - 1;
}
old_Rows = Rows;

View File

@ -1027,3 +1027,36 @@ describe('Screen default colors', function()
end}
end)
end)
it('CTRL-F or CTRL-B scrolls a page after UI attach/resize #20605', function()
clear()
local screen = Screen.new(100, 100)
screen:attach()
eq(100, meths.get_option('lines'))
eq(99, meths.get_option('window'))
eq(99, meths.win_get_height(0))
feed('1000o<Esc>')
eq(903, funcs.line('w0'))
feed('<C-B>')
eq(806, funcs.line('w0'))
feed('<C-B>')
eq(709, funcs.line('w0'))
feed('<C-F>')
eq(806, funcs.line('w0'))
feed('<C-F>')
eq(903, funcs.line('w0'))
feed('G')
screen:try_resize(50, 50)
eq(50, meths.get_option('lines'))
eq(49, meths.get_option('window'))
eq(49, meths.win_get_height(0))
eq(953, funcs.line('w0'))
feed('<C-B>')
eq(906, funcs.line('w0'))
feed('<C-B>')
eq(859, funcs.line('w0'))
feed('<C-F>')
eq(906, funcs.line('w0'))
feed('<C-F>')
eq(953, funcs.line('w0'))
end)