diff src/screen.c @ 8627:7c98c5d0298c v7.4.1603

commit https://github.com/vim/vim/commit/bfb96c047b79b2aab5fd57a2472871508819f3ef Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 19 17:05:20 2016 +0100 patch 7.4.1603 Problem: Timer with an ":echo" command messes up display. Solution: Redraw depending on the mode. (Hirohito Higashi) Avoid the more prompt being used recursively.
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Mar 2016 17:15:04 +0100
parents 63dc856bd13d
children 24b43dd167eb
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -418,8 +418,15 @@ redraw_asap(int type)
     void
 redraw_after_callback()
 {
-    update_screen(0);
-    setcursor();
+    if (State == HITRETURN || State == ASKMORE)
+	; /* do nothing */
+    else if (State & CMDLINE)
+	redrawcmdline();
+    else if ((State & NORMAL) || (State & INSERT))
+    {
+	update_screen(0);
+	setcursor();
+    }
     cursor_on();
     out_flush();
 #ifdef FEAT_GUI