summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-09-01 17:01:32 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-01 17:01:32 +0100
commit3b474dcd30ea188124f5ad766f5096f9a0cef895 (patch)
treed25baa6071e9fc1b29c20d644b6e684282a66401
parentb5b4f61cf192324379b6a8c4f7ed83a13f0e3bc6 (diff)
patch 9.0.0352: using :echowindow in a timer clears part of messagev9.0.0352
Problem: using :echowindow in a timer clears part of message Solution: Do not use msg_clr_eos().
-rw-r--r--src/message.c6
-rw-r--r--src/testdir/dumps/Test_echowindow_2.dump2
-rw-r--r--src/testdir/dumps/Test_echowindow_4.dump2
-rw-r--r--src/version.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/src/message.c b/src/message.c
index 573f3aedf1..e401882d1a 100644
--- 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
index f8bea0c4ad..58b2f3fbf1 100644
--- 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
index b674e9e6fb..c8bd387c72 100644
--- 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
index 4c05bb0592..e576be3944 100644
--- 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,