0
0
mirror of https://github.com/vim/vim.git synced 2025-10-04 05:25:06 -04:00

patch 8.1.1347: fractional scroll position not restored after closing window

Problem:    Fractional scroll position not restored after closing window.
Solution:   Do restore fraction if topline is not one.
This commit is contained in:
Bram Moolenaar
2019-05-18 15:36:11 +02:00
parent 7f3a28490a
commit bd2d68c2f4
3 changed files with 20 additions and 17 deletions

View File

@@ -745,16 +745,8 @@ endfunc
func Test_split_noscroll()
let so_save = &so
new
only
" Make sure windows can hold all content after split.
for i in range(1, 20)
wincmd +
redraw!
endfor
call setline (1, range(1, 8))
enew
call setline(1, range(1, 8))
normal 100%
split
@@ -769,12 +761,20 @@ func Test_split_noscroll()
call assert_equal(1, info1.topline)
call assert_equal(1, info2.topline)
" Restore original state.
for i in range(1, 20)
wincmd -
redraw!
endfor
" window that fits all lines by itself, but not when split: closing other
" window should restore fraction.
only!
call setline(1, range(1, &lines - 10))
exe &lines / 4
let winid1 = win_getid()
let info1 = getwininfo(winid1)[0]
call assert_equal(1, info1.topline)
new
redraw
close
let info1 = getwininfo(winid1)[0]
call assert_equal(1, info1.topline)
bwipe!
let &so = so_save
endfunc