To: vim_dev@googlegroups.com Subject: Patch 7.3.139 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.139 (after 7.3.137) Problem: When 'lazyredraw' is set ":ver" output can't be read. Solution: Don't redraw the screen when at a prompt or command line. Files: src/getchar.c, src/message.c, src/misc1.c *** ../vim-7.3.138/src/getchar.c 2011-03-03 15:04:01.000000000 +0100 --- src/getchar.c 2011-03-22 12:16:23.000000000 +0100 *************** *** 2713,2719 **** * 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 */ --- 2713,2720 ---- * 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) != 0 || p_lz) && (State & CMDLINE) == 0 ! && advance && must_redraw != 0 && !need_wait_return) { update_screen(0); setcursor(); /* put cursor back where it belongs */ *** ../vim-7.3.138/src/message.c 2011-02-01 17:12:20.000000000 +0100 --- src/message.c 2011-03-22 13:06:24.000000000 +0100 *************** *** 879,894 **** if (msg_silent != 0) return; ! /* ! * With the global command (and some others) we only need one return at the ! * end. Adjust cmdline_row to avoid the next message overwriting the last one. ! * When inside vgetc(), we can't wait for a typed character at all. ! */ if (vgetc_busy > 0) return; if (no_wait_return) { - need_wait_return = TRUE; if (!exmode_active) cmdline_row = msg_row; return; --- 879,895 ---- if (msg_silent != 0) return; ! /* ! * When inside vgetc(), we can't wait for a typed character at all. ! * With the global command (and some others) we only need one return at ! * the end. Adjust cmdline_row to avoid the next message overwriting the ! * last one. ! */ if (vgetc_busy > 0) return; + need_wait_return = TRUE; if (no_wait_return) { if (!exmode_active) cmdline_row = msg_row; return; *** ../vim-7.3.138/src/misc1.c 2011-03-03 15:04:01.000000000 +0100 --- src/misc1.c 2011-03-22 12:15:26.000000000 +0100 *************** *** 3116,3122 **** if (n == KEYLEN_REMOVED) /* key code removed */ { ! if (must_redraw) { /* Redrawing was postponed, do it now. */ update_screen(0); --- 3116,3122 ---- if (n == KEYLEN_REMOVED) /* key code removed */ { ! if (must_redraw != 0 && !need_wait_return && (State & CMDLINE) == 0) { /* Redrawing was postponed, do it now. */ update_screen(0); *** ../vim-7.3.138/src/version.c 2011-03-03 15:54:45.000000000 +0100 --- src/version.c 2011-03-22 13:06:33.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 139, /**/ -- "Software is like sex... it's better when it's free." -- Linus Torvalds, initiator of the free Linux OS Makes me wonder what FSF stands for...? /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///