summaryrefslogtreecommitdiff
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
parent79c6b51e403d4ea755b6637b01d1426a06ca9f9a (diff)
downloadvim-83f4cbd973731872b633d6ba0caf850fb708d70c.zip
patch 8.1.0052: when mapping to <Nop> times out the next mapping is skipped
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)
-rw-r--r--src/getchar.c5
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/getchar.c b/src/getchar.c
index ff03905b4..ce7508c56 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,
diff --git a/src/version.c b/src/version.c
index 5ff56fdb0..3187cf284 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 52,
+/**/
51,
/**/
50,