patch 9.0.0350: :echowindow does not work in a compiled function
Problem: :echowindow does not work in a compiled function.
Solution: Handle the expression at compile time.
diff --git a/src/popupwin.c b/src/popupwin.c
index 8292dba..72d38787 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -4529,6 +4529,31 @@
popup_hide(message_win);
}
+/*
+ * Invoked before outputting a message for ":echowindow".
+ */
+ void
+start_echowindow(void)
+{
+ in_echowindow = TRUE;
+}
+
+/*
+ * Invoked after outputting a message for ":echowindow".
+ */
+ void
+end_echowindow(void)
+{
+ // show the message window now
+ redraw_cmd(FALSE);
+
+ // do not overwrite messages
+ // TODO: only for message window
+ msg_didout = TRUE;
+ if (msg_col == 0)
+ msg_col = 1;
+ in_echowindow = FALSE;
+}
#endif
/*