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/ex_docmd.c b/src/ex_docmd.c
index 9f7875f..ae1f195 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8349,11 +8349,20 @@
 }
 
 /*
- * ":redraw": force redraw
+ * ":redraw": force redraw, with clear for ":redraw!".
  */
     void
 ex_redraw(exarg_T *eap)
 {
+    redraw_cmd(eap->forceit);
+}
+
+/*
+ * ":redraw": force redraw, with clear if "clear" is TRUE.
+ */
+    void
+redraw_cmd(int clear)
+{
     int		r = RedrawingDisabled;
     int		p = p_lz;
 
@@ -8361,7 +8370,7 @@
     p_lz = FALSE;
     validate_cursor();
     update_topline();
-    update_screen(eap->forceit ? UPD_CLEAR : VIsual_active ? UPD_INVERTED : 0);
+    update_screen(clear ? UPD_CLEAR : VIsual_active ? UPD_INVERTED : 0);
     if (need_maketitle)
 	maketitle();
 #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))