# HG changeset patch # User Bram Moolenaar # Date 1662048905 -7200 # Node ID d03ee646c9ec2f500a8a58d2e004ff6cb90fd027 # Parent 2ee12f894bb0cc449a964bfeaaf66efb41384813 patch 9.0.0352: using :echowindow in a timer clears part of message Commit: https://github.com/vim/vim/commit/3b474dcd30ea188124f5ad766f5096f9a0cef895 Author: Bram Moolenaar Date: Thu Sep 1 17:01:32 2022 +0100 patch 9.0.0352: using :echowindow in a timer clears part of message Problem: using :echowindow in a timer clears part of message Solution: Do not use msg_clr_eos(). diff --git a/src/message.c b/src/message.c --- a/src/message.c +++ b/src/message.c @@ -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 diff --git a/src/testdir/dumps/Test_echowindow_2.dump b/src/testdir/dumps/Test_echowindow_2.dump --- a/src/testdir/dumps/Test_echowindow_2.dump +++ b/src/testdir/dumps/Test_echowindow_2.dump @@ -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| diff --git a/src/testdir/dumps/Test_echowindow_4.dump b/src/testdir/dumps/Test_echowindow_4.dump --- a/src/testdir/dumps/Test_echowindow_4.dump +++ b/src/testdir/dumps/Test_echowindow_4.dump @@ -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| diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -708,6 +708,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 352, +/**/ 351, /**/ 350,