Mercurial > vim
changeset 24521:3efc5cb6a404 v8.2.2800
patch 8.2.2800: after a timer displays text a hit-enter prompt is given
Commit: https://github.com/vim/vim/commit/9f28416e54cefe8b6a2382d078c78f1d469e60cd
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 22 21:39:30 2021 +0200
patch 8.2.2800: after a timer displays text a hit-enter prompt is given
Problem: After a timer displays text a hit-enter prompt is given.
Solution: Reset msg_didany and need_wait_return. (closes https://github.com/vim/vim/issues/8136)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 22 Apr 2021 21:45:03 +0200 |
parents | 5bda4653aced |
children | 620f0e8fe10f |
files | src/drawscreen.c src/testdir/test_timers.vim src/version.c |
diffstat | 3 files changed, 31 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -3002,6 +3002,13 @@ redraw_after_callback(int call_update_sc // keep the command line if possible update_screen(VALID_NO_UPDATE); setcursor(); + + if (msg_scrolled == 0) + { + // don't want a hit-enter prompt when something else is displayed + msg_didany = FALSE; + need_wait_return = FALSE; + } } cursor_on(); #ifdef FEAT_GUI
--- a/src/testdir/test_timers.vim +++ b/src/testdir/test_timers.vim @@ -449,4 +449,26 @@ func Test_timer_changing_function_list() call delete('XTest_timerchange') endfunc +func Test_timer_outputting_message() + CheckRunVimInTerminal + + let lines =<< trim END + vim9script + setline(1, 'some text') + set showcmd ut=2000 cmdheight=1 + timer_start(0, (_) => { + echon repeat('x', &columns - 11) + }) + END + call writefile(lines, 'XTest_timermessage') + let buf = RunVimInTerminal('-S XTest_timermessage', #{rows: 6}) + call term_sendkeys(buf, "l") + call term_wait(buf) + " should not get a hit-enter prompt + call WaitForAssert({-> assert_match('xxxxxxxxxxx', term_getline(buf, 6))}) + + call StopVimInTerminal(buf) + call delete('XTest_timermessage') +endfunc + " vim: shiftwidth=2 sts=2 expandtab