changeset 202:b6450bf509d8

updated for version 7.0060
author vimboss
date Tue, 15 Mar 2005 22:28:00 +0000
parents 300fac7c5a2b
children 80000fb16feb
files src/getchar.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1759,6 +1759,7 @@ vgetorpeek(advance)
     int		nolmaplen;
 #endif
     int		old_wcol, old_wrow;
+    int		wait_tb_len;
 
     /*
      * This function doesn't work very well when called recursively.  This may
@@ -2531,6 +2532,7 @@ vgetorpeek(advance)
 /*
  * get a character: 3. from the user - get it
  */
+		wait_tb_len = typebuf.tb_len;
 		c = inchar(typebuf.tb_buf + typebuf.tb_off + typebuf.tb_len,
 			typebuf.tb_buflen - typebuf.tb_off - typebuf.tb_len - 1,
 			!advance
@@ -2562,7 +2564,7 @@ vgetorpeek(advance)
 		{
 		    if (!advance)
 			break;
-		    if (typebuf.tb_len > 0)	/* timed out */
+		    if (wait_tb_len > 0)	/* timed out */
 		    {
 			timedout = TRUE;
 			continue;
@@ -2798,6 +2800,10 @@ fix_input_buffer(buf, len, script)
 	else
 #endif
 	if (p[0] == NUL || (p[0] == K_SPECIAL && !script
+#ifdef FEAT_AUTOCMD
+		    /* timeout may generate K_CURSORHOLD */
+		    && (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
+#endif
 #if defined(WIN3264) && !defined(FEAT_GUI)
 		    /* Win32 console passes modifiers */
 		    && (i < 2 || p[1] != KS_MODIFIER)