summaryrefslogtreecommitdiffstats
path: root/src/getchar.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-12 21:35:40 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-12 21:35:40 +0200
commit83f4cbd973731872b633d6ba0caf850fb708d70c (patch)
treeb26413539ab5fcbf3eb9c9d2d58441e4b4b35de2 /src/getchar.c
parent79c6b51e403d4ea755b6637b01d1426a06ca9f9a (diff)
patch 8.1.0052: when mapping to <Nop> times out the next mapping is skippedv8.1.0052
Problem: When a mapping to <Nop> times out the next mapping is skipped. Solution: Reset "timedout" when waiting for a character. (Christian Brabandt, closes #2921)
Diffstat (limited to 'src/getchar.c')
-rw-r--r--src/getchar.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/getchar.c b/src/getchar.c
index ff03905b44..ce7508c569 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2856,6 +2856,11 @@ vgetorpeek(int advance)
/*
* get a character: 3. from the user - get it
*/
+ if (typebuf.tb_len == 0)
+ // timedout may have been set while waiting for a mapping
+ // that has a <Nop> RHS.
+ timedout = FALSE;
+
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,