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