# HG changeset patch # User Bram Moolenaar # Date 1619120703 -7200 # Node ID 3efc5cb6a4041908c3772e3d3599d663e3a58398 # Parent 5bda4653acedb82fcd97b4ed670fad9e76c15ea9 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 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) diff --git a/src/drawscreen.c b/src/drawscreen.c --- 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 diff --git a/src/testdir/test_timers.vim b/src/testdir/test_timers.vim --- 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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2800, +/**/ 2799, /**/ 2798,