forked from aniani/vim
patch 8.0.1836: buffer-local window options may not be recent
Problem: Buffer-local window options may not be recent if the buffer is
still open in another window.
Solution: Copy the options from the window instead of the outdated window
options. (Bjorn Linse, closes #2336)
This commit is contained in:
@@ -348,3 +348,55 @@ func Test_backupskip()
|
||||
endif
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
func Test_copy_winopt()
|
||||
set hidden
|
||||
|
||||
" Test copy option from current buffer in window
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=5
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(5,&numberwidth)
|
||||
bw!
|
||||
call assert_equal(4,&numberwidth)
|
||||
|
||||
" Test copy value from window that used to be display the buffer
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=6
|
||||
bnext
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(6,&numberwidth)
|
||||
bw!
|
||||
|
||||
" Test that if buffer is current, don't use the stale cached value
|
||||
" from the last time the buffer was displayed.
|
||||
split
|
||||
enew
|
||||
setlocal numberwidth=7
|
||||
bnext
|
||||
bnext
|
||||
setlocal numberwidth=8
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(8,&numberwidth)
|
||||
bw!
|
||||
|
||||
" Test value is not copied if window already has seen the buffer
|
||||
enew
|
||||
split
|
||||
setlocal numberwidth=9
|
||||
bnext
|
||||
setlocal numberwidth=10
|
||||
wincmd w
|
||||
call assert_equal(4,&numberwidth)
|
||||
bnext
|
||||
call assert_equal(4,&numberwidth)
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
Reference in New Issue
Block a user