summaryrefslogtreecommitdiffstats
path: root/src/getchar.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-03-03 15:04:08 +0100
committerBram Moolenaar <Bram@vim.org>2011-03-03 15:04:08 +0100
commit6eb634ef1f40623192f331dda7b13e34fffba9e2 (patch)
tree7c6817aa32919ac2cbd3d4f525b3ecbce1361874 /src/getchar.c
parentec737235c7eb15ef760eed791d39d117f0105d3c (diff)
updated for version 7.3.137v7.3.137
Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan Krasilnikov) Solution: Call update_screen() before waiting for input.
Diffstat (limited to 'src/getchar.c')
-rw-r--r--src/getchar.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 63b93a547b..8edf0a37ec 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -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 */