diff options
author | Bram Moolenaar <Bram@vim.org> | 2011-03-03 15:04:08 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2011-03-03 15:04:08 +0100 |
commit | 6eb634ef1f40623192f331dda7b13e34fffba9e2 (patch) | |
tree | 7c6817aa32919ac2cbd3d4f525b3ecbce1361874 /src/getchar.c | |
parent | ec737235c7eb15ef760eed791d39d117f0105d3c (diff) | |
download | vim-git-6eb634ef1f40623192f331dda7b13e34fffba9e2.tar.gz |
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.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/getchar.c b/src/getchar.c index 63b93a547..8edf0a37e 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 */ |