Karsten Hopp f3dbc7
To: vim-dev@vim.org
Karsten Hopp f3dbc7
Subject: Patch 7.0.090
Karsten Hopp f3dbc7
Fcc: outbox
Karsten Hopp f3dbc7
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp f3dbc7
Mime-Version: 1.0
Karsten Hopp f3dbc7
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp f3dbc7
Content-Transfer-Encoding: 8bit
Karsten Hopp f3dbc7
------------
Karsten Hopp f3dbc7
Karsten Hopp f3dbc7
Patch 7.0.090
Karsten Hopp f3dbc7
Problem:    Cancelling the conform() dialog on the console with Esc requires
Karsten Hopp f3dbc7
	    typing it twice. (Benji Fisher)
Karsten Hopp f3dbc7
Solution:   When the start of an escape sequence is found use 'timeoutlen' or
Karsten Hopp f3dbc7
	    'ttimeoutlen'.
Karsten Hopp f3dbc7
Files:	    src/misc1.c
Karsten Hopp f3dbc7
Karsten Hopp f3dbc7
Karsten Hopp f3dbc7
*** ../vim-7.0.089/src/misc1.c	Sun Sep  3 16:39:51 2006
Karsten Hopp f3dbc7
--- src/misc1.c	Tue Sep  5 20:31:43 2006
Karsten Hopp f3dbc7
***************
Karsten Hopp f3dbc7
*** 3016,3021 ****
Karsten Hopp f3dbc7
--- 3016,3022 ----
Karsten Hopp f3dbc7
      int		len = 0;
Karsten Hopp f3dbc7
      int		n;
Karsten Hopp f3dbc7
      int		save_mapped_ctrl_c = mapped_ctrl_c;
Karsten Hopp f3dbc7
+     int		waited = 0;
Karsten Hopp f3dbc7
  
Karsten Hopp f3dbc7
      mapped_ctrl_c = FALSE;	/* mappings are not used here */
Karsten Hopp f3dbc7
      for (;;)
Karsten Hopp f3dbc7
***************
Karsten Hopp f3dbc7
*** 3034,3044 ****
Karsten Hopp f3dbc7
  	    /* Replace zero and CSI by a special key code. */
Karsten Hopp f3dbc7
  	    n = fix_input_buffer(buf + len, n, FALSE);
Karsten Hopp f3dbc7
  	    len += n;
Karsten Hopp f3dbc7
  	}
Karsten Hopp f3dbc7
  
Karsten Hopp f3dbc7
! 	/* incomplete termcode: get more characters */
Karsten Hopp f3dbc7
! 	if ((n = check_termcode(1, buf, len)) < 0)
Karsten Hopp f3dbc7
  	    continue;
Karsten Hopp f3dbc7
  	/* found a termcode: adjust length */
Karsten Hopp f3dbc7
  	if (n > 0)
Karsten Hopp f3dbc7
  	    len = n;
Karsten Hopp f3dbc7
--- 3035,3050 ----
Karsten Hopp f3dbc7
  	    /* Replace zero and CSI by a special key code. */
Karsten Hopp f3dbc7
  	    n = fix_input_buffer(buf + len, n, FALSE);
Karsten Hopp f3dbc7
  	    len += n;
Karsten Hopp f3dbc7
+ 	    waited = 0;
Karsten Hopp f3dbc7
  	}
Karsten Hopp f3dbc7
+ 	else if (len > 0)
Karsten Hopp f3dbc7
+ 	    ++waited;	    /* keep track of the waiting time */
Karsten Hopp f3dbc7
  
Karsten Hopp f3dbc7
! 	/* Incomplete termcode and not timed out yet: get more characters */
Karsten Hopp f3dbc7
! 	if ((n = check_termcode(1, buf, len)) < 0
Karsten Hopp f3dbc7
! 	       && (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
Karsten Hopp f3dbc7
  	    continue;
Karsten Hopp f3dbc7
+ 
Karsten Hopp f3dbc7
  	/* found a termcode: adjust length */
Karsten Hopp f3dbc7
  	if (n > 0)
Karsten Hopp f3dbc7
  	    len = n;
Karsten Hopp f3dbc7
*** ../vim-7.0.089/src/version.c	Tue Sep  5 18:28:45 2006
Karsten Hopp f3dbc7
--- src/version.c	Tue Sep  5 20:49:01 2006
Karsten Hopp f3dbc7
***************
Karsten Hopp f3dbc7
*** 668,669 ****
Karsten Hopp f3dbc7
--- 668,671 ----
Karsten Hopp f3dbc7
  {   /* Add new patch number below this line */
Karsten Hopp f3dbc7
+ /**/
Karsten Hopp f3dbc7
+     90,
Karsten Hopp f3dbc7
  /**/
Karsten Hopp f3dbc7
Karsten Hopp f3dbc7
-- 
Karsten Hopp f3dbc7
GUARD #1:  Where'd you get the coconut?
Karsten Hopp f3dbc7
ARTHUR:    We found them.
Karsten Hopp f3dbc7
GUARD #1:  Found them?  In Mercea?  The coconut's tropical!
Karsten Hopp f3dbc7
ARTHUR:    What do you mean?
Karsten Hopp f3dbc7
GUARD #1:  Well, this is a temperate zone.
Karsten Hopp f3dbc7
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp f3dbc7
Karsten Hopp f3dbc7
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp f3dbc7
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp f3dbc7
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp f3dbc7
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///