summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-03-15 22:28:00 +0000
committerBram Moolenaar <Bram@vim.org>2005-03-15 22:28:00 +0000
commit28a37ffcf79cfa8139246cecba918f3258e411ea (patch)
treea9ab3dacf95a788235b2a33361b8449a7c72254f /src
parent11cbeb132602b5145d93aff4c2afe9888ccf03c3 (diff)
downloadvim-git-28a37ffcf79cfa8139246cecba918f3258e411ea.tar.gz
updated for version 7.0060
Diffstat (limited to 'src')
-rw-r--r--src/getchar.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 8faa5f590..8fb1dd9b8 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)