1
0
forked from aniani/vim

patch 9.0.0915: WinScrolled may trigger immediately when defined

Problem:    WinScrolled may trigger immediately when defined.
Solution:   Initialize the fields in all windows. (closes #11582)
This commit is contained in:
Bram Moolenaar
2022-11-20 12:11:45 +00:00
parent 228e422855
commit 2996773276
7 changed files with 93 additions and 15 deletions

View File

@@ -0,0 +1,10 @@
>a+0&#ffffff0@2| @56
|b@2| @56
|~+0#4040ff13&| @58
|~| @58
|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|1|,|1| @11|A|l@1
|a+0&&@2| @56
|b@2| @56
|~+0#4040ff13&| @58
|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|1|,|1| @11|A|l@1
|:+0&&|a|u| |W|i|n|S|c|r|o|l@1|e|d| |*| |c|a|l@1| |t|i|m|e|r|_|s|t|a|r|t|(|1|0@1|,| |'|S|h|o|w|T|r|i|g@1|e|r|e|d|'|)| @3

View File

@@ -0,0 +1,10 @@
>b+0&#ffffff0@2| @56
|~+0#4040ff13&| @58
|~| @58
|~| @58
|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|2|,|1| @11|B|o|t
|a+0&&@2| @56
|b@2| @56
|~+0#4040ff13&| @58
|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|1|,|1| @11|A|l@1
|t+0&&|r|i|g@1|e|r|e|d| @50

View File

@@ -439,6 +439,32 @@ func Test_WinScrolled_once_only()
call StopVimInTerminal(buf)
endfunc
" Check that WinScrolled is not triggered immediately when defined and there
" are split windows.
func Test_WinScrolled_not_when_defined()
CheckRunVimInTerminal
let lines =<< trim END
call setline(1, ['aaa', 'bbb'])
echo 'nothing happened'
func ShowTriggered(id)
echo 'triggered'
endfunc
END
call writefile(lines, 'Xtest_winscrolled_not', 'D')
let buf = RunVimInTerminal('-S Xtest_winscrolled_not', #{rows: 10, cols: 60, statusoff: 2})
call term_sendkeys(buf, ":split\<CR>")
call TermWait(buf)
" use a timer to show the message after redrawing
call term_sendkeys(buf, ":au WinScrolled * call timer_start(100, 'ShowTriggered')\<CR>")
call VerifyScreenDump(buf, 'Test_winscrolled_not_when_defined_1', {})
call term_sendkeys(buf, "\<C-E>")
call VerifyScreenDump(buf, 'Test_winscrolled_not_when_defined_2', {})
call StopVimInTerminal(buf)
endfunc
func Test_WinScrolled_long_wrapped()
CheckRunVimInTerminal