summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvimboss <devnull@localhost>2005-03-15 22:28:00 +0000
committervimboss <devnull@localhost>2005-03-15 22:28:00 +0000
commit0973187184238a62aca0d562c3c4b41a7b608425 (patch)
treea9ab3dacf95a788235b2a33361b8449a7c72254f
parentf1d1bb717e3167485b7b536ed5419452c57c3b6e (diff)
downloadvim-0973187184238a62aca0d562c3c4b41a7b608425.tar.gz
updated for version 7.0060
-rw-r--r--src/getchar.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 8faa5f59..8fb1dd9b 100644
--- 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)