1
0
forked from aniani/vim

patch 9.0.0431: current mode shows in message window

Problem:    Current mode shows in message window.
Solution:   Reset in_echowindow before redrawing. (issue #11094)
This commit is contained in:
Bram Moolenaar
2022-09-09 20:19:40 +01:00
parent 375141e1f8
commit 7cf5839287
4 changed files with 32 additions and 1 deletions

View File

@@ -4545,6 +4545,8 @@ start_echowindow(void)
void void
end_echowindow(void) end_echowindow(void)
{ {
in_echowindow = FALSE;
// show the message window now // show the message window now
redraw_cmd(FALSE); redraw_cmd(FALSE);
@@ -4553,7 +4555,6 @@ end_echowindow(void)
msg_didout = TRUE; msg_didout = TRUE;
if (msg_col == 0) if (msg_col == 0)
msg_col = 1; msg_col = 1;
in_echowindow = FALSE;
} }
#endif #endif

View File

@@ -0,0 +1,8 @@
>o+0&#ffffff0|n+0&#e0e0e08|e| | +0&#ffffff0@70
|t|w|o| @71
|~+0#4040ff13&| @73
|~| @73
|~| @73
|═+0#e000002&@74
|e|c|h|o| |w|i|n|d|o|w| @63
|-+2#0000000&@1| |V|I|S|U|A|L| |L|I|N|E| |-@1| +0&&@29|1| @8|1|,|1| @10|A|l@1|

View File

@@ -440,5 +440,25 @@ func Test_echowin_eval()
call delete('XtestEchowindow') call delete('XtestEchowindow')
endfunc endfunc
" messages window should not be used for showing the mode
func Test_echowin_showmode()
CheckScreendump
let lines =<< trim END
vim9script
setline(1, ['one', 'two'])
timer_start(100, (_) => {
echowin 'echo window'
})
normal V
END
call writefile(lines, 'XtestEchowinMode', 'D')
let buf = RunVimInTerminal('-S XtestEchowinMode', #{rows: 8})
call VerifyScreenDump(buf, 'Test_echowin_showmode', {})
" clean up
call StopVimInTerminal(buf)
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -703,6 +703,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
431,
/**/ /**/
430, 430,
/**/ /**/