patch 8.0.0626: in the GUI the cursor may flicker

Problem:    In the GUI the cursor may flicker.
Solution:   Check the cmd_silent flag before updating the cursor shape.
            (Hirohito Higashi, closes #1637)
diff --git a/src/getchar.c b/src/getchar.c
index 18af2a3..ab3250a 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2913,8 +2913,16 @@
     }
 #ifdef FEAT_GUI
     /* may unshow different cursor shape */
-    if (gui.in_use && shape_changed)
-	gui_update_cursor(TRUE, FALSE);
+    if (gui.in_use)
+    {
+	if (cmd_silent)
+	    gui_dont_update_cursor(TRUE);
+	else
+	    gui_can_update_cursor();
+
+	if (shape_changed)
+	    gui_update_cursor(TRUE, FALSE);
+    }
 #endif
 
     --vgetc_busy;