]> granicus.if.org Git - vim/commitdiff
patch 9.0.0352: using :echowindow in a timer clears part of message v9.0.0352
authorBram Moolenaar <Bram@vim.org>
Thu, 1 Sep 2022 16:01:32 +0000 (17:01 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 1 Sep 2022 16:01:32 +0000 (17:01 +0100)
Problem:    using :echowindow in a timer clears part of message
Solution:   Do not use msg_clr_eos().

src/message.c
src/testdir/dumps/Test_echowindow_2.dump
src/testdir/dumps/Test_echowindow_4.dump
src/version.c

index 573f3aedf1929996f8edafa034bbc321e55c65a6..e401882d1acb38d9563bde8782bcbe7a2a0c37cc 100644 (file)
@@ -1443,7 +1443,7 @@ msg_start(void)
     }
 
 #ifdef FEAT_EVAL
-    if (need_clr_eos || in_echowindow)
+    if (need_clr_eos)
     {
        // Halfway an ":echo" command and getting an (error) message: clear
        // any text from the command.
@@ -3646,6 +3646,10 @@ msg_clr_eos(void)
     void
 msg_clr_eos_force(void)
 {
+#ifdef HAS_MESSAGE_WINDOW
+    if (in_echowindow)
+       return;  // messages go into a popup
+#endif
     if (msg_use_printf())
     {
        if (full_screen)        // only when termcap codes are valid
index f8bea0c4add829c53460ee4491fcfa50d8aefb0e..58b2f3fbf1b44355549830ef5a5ba16d27925322 100644 (file)
@@ -5,4 +5,4 @@
 |═+0#e000002&@74
 |f|i|r|s|t| |l|i|n|e| @64
 |s|e|c|o|n|d| |l|i|n|e| @63
-| +0#0000000&@56|1|,|1| @10|A|l@1| 
+|:+0#0000000&|c|a|l@1| |S|h|o|w|M|e|s@1|a|g|e|(|'|s|e|c|o|n|d| |l|i|n|e|'|)| @24|1|,|1| @10|A|l@1| 
index b674e9e6fb67e3dae9315153d749fccf6996a8c5..c8bd387c72b4383614fac416ed8ffd079c4efe33 100644 (file)
@@ -5,4 +5,4 @@
 |l|i|n|e| |1|7| @67
 |l|i|n|e| |1|8| @67
 |l|i|n|e| |1|9| @67
-| +0#0000000&@56|1|,|1| @10|A|l@1| 
+|:+0#0000000&|c|a|l@1| |M|a|n|y|M|e|s@1|a|g|e|s|(|)| @36|1|,|1| @10|A|l@1| 
index 4c05bb0592cbd9de93cc408351f4a1320add0852..e576be394464ac82c2cc6750099c97594ef41efb 100644 (file)
@@ -707,6 +707,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    352,
 /**/
     351,
 /**/