]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.137 v7.3.137
authorBram Moolenaar <Bram@vim.org>
Thu, 3 Mar 2011 14:04:08 +0000 (15:04 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 3 Mar 2011 14:04:08 +0000 (15:04 +0100)
Problem:    When 'lazyredraw' is set the screen may not be updated. (Ivan
            Krasilnikov)
Solution:   Call update_screen() before waiting for input.

src/getchar.c
src/misc1.c
src/version.c

index 63b93a547b44f036fede1a47549cfb397b49521f..8edf0a37ecd0bcaaf4d10cbe7d3bb471cd606096 100644 (file)
@@ -2710,8 +2710,10 @@ vgetorpeek(advance)
                 * are still available.  But when those available characters
                 * are part of a mapping, and we are going to do a blocking
                 * wait here.  Need to update the screen to display the
-                * changed text so far. */
-               if ((State & INSERT) && advance && must_redraw != 0)
+                * changed text so far. Also for when 'lazyredraw' is set and
+                * redrawing was postponed because there was something in the
+                * input buffer (e.g., termresponse). */
+               if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
                {
                    update_screen(0);
                    setcursor(); /* put cursor back where it belongs */
index 9f3eff157d430e00274b08c21f77b5a84f4aeebe..c39bb984f429c9e745588f1184fb52f722e88b7d 100644 (file)
@@ -3115,7 +3115,15 @@ get_keystroke()
            continue;
 
        if (n == KEYLEN_REMOVED)  /* key code removed */
+       {
+           if (must_redraw)
+           {
+               /* Redrawing was postponed, do it now. */
+               update_screen(0);
+               setcursor(); /* put cursor back where it belongs */
+           }
            continue;
+       }
        if (n > 0)              /* found a termcode: adjust length */
            len = n;
        if (len == 0)           /* nothing typed yet */
index 1200558d29f8107f9b133c2bf70f4013f17130e5..e7902972ba7f071ccb98d5ec770f81cbb531d4e9 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    137,
 /**/
     136,
 /**/