comparison src/getchar.c @ 2721:417c04135ca2 v7.3.137

updated for version 7.3.137 Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan Krasilnikov) Solution: Call update_screen() before waiting for input.
author Bram Moolenaar <bram@vim.org>
date Thu, 03 Mar 2011 15:04:08 +0100
parents 6a2e4860134b
children 2e72d84e8965
comparison
equal deleted inserted replaced
2720:3adc6dd2d122 2721:417c04135ca2
2708 */ 2708 */
2709 /* In insert mode a screen update is skipped when characters 2709 /* In insert mode a screen update is skipped when characters
2710 * are still available. But when those available characters 2710 * are still available. But when those available characters
2711 * are part of a mapping, and we are going to do a blocking 2711 * are part of a mapping, and we are going to do a blocking
2712 * wait here. Need to update the screen to display the 2712 * wait here. Need to update the screen to display the
2713 * changed text so far. */ 2713 * changed text so far. Also for when 'lazyredraw' is set and
2714 if ((State & INSERT) && advance && must_redraw != 0) 2714 * redrawing was postponed because there was something in the
2715 * input buffer (e.g., termresponse). */
2716 if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
2715 { 2717 {
2716 update_screen(0); 2718 update_screen(0);
2717 setcursor(); /* put cursor back where it belongs */ 2719 setcursor(); /* put cursor back where it belongs */
2718 } 2720 }
2719 2721