# HG changeset patch # User Christian Brabandt # Date 1528832708 -7200 # Node ID bc91de20ba4380bd7cd8659642acdce8724797e8 # Parent 697cd77146aa935e15f85f1cb55804c9900ce8b4 patch 8.1.0052: when mapping to times out the next mapping is skipped commit https://github.com/vim/vim/commit/83f4cbd973731872b633d6ba0caf850fb708d70c Author: Bram Moolenaar Date: Tue Jun 12 21:35:40 2018 +0200 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 --- 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 --- 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,