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:
@@ -4545,6 +4545,8 @@ start_echowindow(void)
|
||||
void
|
||||
end_echowindow(void)
|
||||
{
|
||||
in_echowindow = FALSE;
|
||||
|
||||
// show the message window now
|
||||
redraw_cmd(FALSE);
|
||||
|
||||
@@ -4553,7 +4555,6 @@ end_echowindow(void)
|
||||
msg_didout = TRUE;
|
||||
if (msg_col == 0)
|
||||
msg_col = 1;
|
||||
in_echowindow = FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
8
src/testdir/dumps/Test_echowin_showmode.dump
Normal file
8
src/testdir/dumps/Test_echowin_showmode.dump
Normal 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|
|
@@ -440,5 +440,25 @@ func Test_echowin_eval()
|
||||
call delete('XtestEchowindow')
|
||||
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
|
||||
|
@@ -703,6 +703,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
431,
|
||||
/**/
|
||||
430,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user