forked from aniani/vim
patch 9.0.0913: only change in current window triggers the WinScrolled event
Problem: Only a change in the current window triggers the WinScrolled
event.
Solution: Trigger WinScrolled if any window scrolled or changed size.
(issue #11576)
This commit is contained in:
10
src/testdir/dumps/Test_winscrolled_once_only_1.dump
Normal file
10
src/testdir/dumps/Test_winscrolled_once_only_1.dump
Normal file
@@ -0,0 +1,10 @@
|
||||
|a+0&#ffffff0@2| @26||+1&&>b+0&&@2| @25
|
||||
|b@2| @26||+1&&|~+0#4040ff13&| @27
|
||||
|~| @28||+1#0000000&|~+0#4040ff13&| @27
|
||||
|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1| @8|A|l@1|||~+0#4040ff13&| @27
|
||||
|a+0#0000000&@2| @26||+1&&|~+0#4040ff13&| @27
|
||||
|b+0#0000000&@2| @26||+1&&|~+0#4040ff13&| @27
|
||||
|~| @28||+1#0000000&|~+0#4040ff13&| @27
|
||||
|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1| @8|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @1|2|,|1| @7|B|o|t
|
||||
|1+0&&| |1|0@2| |[|'|r|o|w|'|,| |[@1|'|c|o|l|'|,| |[@1|'|l|e|a|f|'|,| |1|0@1|2|]|,| |[|'|l|e|a|f|'|,| |1|0@1|1|]@2|,| |[
|
||||
|'|l|e|a|f|'|,| |1|0@2|]@2| @44
|
||||
@@ -407,11 +407,38 @@ func Test_WinScrolled_close_curwin()
|
||||
call TermWait(buf)
|
||||
call StopVimInTerminal(buf)
|
||||
|
||||
" check the startup script finished to the end
|
||||
call assert_equal(['123456'], readfile('Xtestout'))
|
||||
|
||||
call delete('Xtestout')
|
||||
endfunc
|
||||
|
||||
func Test_WinScrolled_once_only()
|
||||
CheckRunVimInTerminal
|
||||
|
||||
let lines =<< trim END
|
||||
set cmdheight=2
|
||||
call setline(1, ['aaa', 'bbb'])
|
||||
let trigger_count = 0
|
||||
func ShowInfo(id)
|
||||
echo g:trigger_count g:winid winlayout()
|
||||
endfunc
|
||||
|
||||
vsplit
|
||||
split
|
||||
" use a timer to show the info after a redraw
|
||||
au WinScrolled * let trigger_count += 1 | let winid = expand('<amatch>') | call timer_start(100, 'ShowInfo')
|
||||
wincmd j
|
||||
wincmd l
|
||||
END
|
||||
call writefile(lines, 'Xtest_winscrolled_once', 'D')
|
||||
let buf = RunVimInTerminal('-S Xtest_winscrolled_once', #{rows: 10, cols: 60, statusoff: 2})
|
||||
|
||||
call term_sendkeys(buf, "\<C-E>")
|
||||
call VerifyScreenDump(buf, 'Test_winscrolled_once_only_1', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
endfunc
|
||||
|
||||
func Test_WinScrolled_long_wrapped()
|
||||
CheckRunVimInTerminal
|
||||
|
||||
@@ -2916,6 +2943,7 @@ func Test_SpellFileMissing_bwipe()
|
||||
call assert_fails('set spell spelllang=0', 'E937:')
|
||||
|
||||
au! SpellFileMissing
|
||||
set nospell spelllang=en
|
||||
bwipe
|
||||
endfunc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user