vim-patch:8.0.0670: can't use input() in a timer callback

Problem:    Can't use input() in a timer callback. (Cosmin Popescu)
Solution:   Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes vim/vim#1790,
            closes vim/vim#1129)
1e8e14552e
This commit is contained in:
Jan Edmund Lazo 2018-10-15 21:16:00 -04:00
parent 8fd092f3ff
commit 7d7691e85f

View File

@ -172,6 +172,23 @@ func Test_stop_all_in_callback()
call assert_equal(0, len(info))
endfunc
func FeedkeysCb(timer)
call feedkeys("hello\<CR>", 'nt')
endfunc
func InputCb(timer)
call timer_start(10, 'FeedkeysCb')
let g:val = input('?')
call Resume()
endfunc
func Test_input_in_timer()
let g:val = ''
call timer_start(10, 'InputCb')
call Standby(1000)
call assert_equal('hello', g:val)
endfunc
func FeedAndPeek(timer)
call test_feedinput('a')
call getchar(1)