aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <janedmundlazo@hotmail.com>2018-10-15 21:16:00 -0400
committerJan Edmund Lazo <janedmundlazo@hotmail.com>2018-10-15 21:22:43 -0400
commit7d7691e85f2b6f74ffd7ab6394ebe27e4e07a031 (patch)
treebecc560c1fd8ea087cb11f387a363b1a95e773a9
parent8fd092f3ff15bf70f84ec0d716c5aaa2c7379fa1 (diff)
downloadrneovim-7d7691e85f2b6f74ffd7ab6394ebe27e4e07a031.tar.gz
rneovim-7d7691e85f2b6f74ffd7ab6394ebe27e4e07a031.tar.bz2
rneovim-7d7691e85f2b6f74ffd7ab6394ebe27e4e07a031.zip
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) https://github.com/vim/vim/commit/1e8e14552e0cc8881411eb8fbe39a654dae42554
-rw-r--r--src/nvim/testdir/test_timers.vim17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_timers.vim b/src/nvim/testdir/test_timers.vim
index 82afeb76c8..45e456b591 100644
--- a/src/nvim/testdir/test_timers.vim
+++ b/src/nvim/testdir/test_timers.vim
@@ -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)