From: Bram Moolenaar Date: Tue, 12 Jun 2018 19:35:40 +0000 (+0200) Subject: patch 8.1.0052: when mapping to times out the next mapping is skipped X-Git-Tag: v8.1.0052 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=83f4cbd973731872b633d6ba0caf850fb708d70c;p=vim patch 8.1.0052: when mapping to times out the next mapping is skipped Problem: When a mapping to times out the next mapping is skipped. Solution: Reset "timedout" when waiting for a character. (Christian Brabandt, closes #2921) --- 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 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 @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 52, /**/ 51, /**/