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 #1790,
closes #1129)
diff --git a/src/testdir/test_timers.vim b/src/testdir/test_timers.vim
index ebc6665..fdb74e7 100644
--- a/src/testdir/test_timers.vim
+++ b/src/testdir/test_timers.vim
@@ -172,5 +172,21 @@
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
" vim: shiftwidth=2 sts=2 expandtab