]> granicus.if.org Git - vim/commitdiff
patch 9.0.0431: current mode shows in message window v9.0.0431
authorBram Moolenaar <Bram@vim.org>
Fri, 9 Sep 2022 19:19:40 +0000 (20:19 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 9 Sep 2022 19:19:40 +0000 (20:19 +0100)
Problem:    Current mode shows in message window.
Solution:   Reset in_echowindow before redrawing. (issue #11094)

src/popupwin.c
src/testdir/dumps/Test_echowin_showmode.dump [new file with mode: 0644]
src/testdir/test_messages.vim
src/version.c

index 5f003803ba6e698c0f429368903441ef9737f32a..a33fa5f8b75b095466014397091d187d7bb83926 100644 (file)
@@ -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
 
diff --git a/src/testdir/dumps/Test_echowin_showmode.dump b/src/testdir/dumps/Test_echowin_showmode.dump
new file mode 100644 (file)
index 0000000..24eb4d0
--- /dev/null
@@ -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| 
index 07a4b229a7ec1310f7665d526bfce0d75bed39fd..4a2deae1e60e9a3d7af08db86571ab0eded6ef90 100644 (file)
@@ -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
index 3b02a3b111720f47abd1717ceae178bf2cc7e646..eb979bc0465cafd331f82d3a7fb97ed802fd4304 100644 (file)
@@ -703,6 +703,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    431,
 /**/
     430,
 /**/