vim-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 vim/vim#2921)
83f4cbd973
This commit is contained in:
Jan Edmund Lazo 2018-08-23 22:51:10 -04:00
parent efa132da82
commit 3b744f1ea2

View File

@ -2255,6 +2255,11 @@ static int vgetorpeek(int advance)
/* /*
* get a character: 3. from the user - get it * 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; wait_tb_len = typebuf.tb_len;
c = inchar(typebuf.tb_buf + typebuf.tb_off + typebuf.tb_len, c = inchar(typebuf.tb_buf + typebuf.tb_off + typebuf.tb_len,
typebuf.tb_buflen - typebuf.tb_off - typebuf.tb_len - 1, typebuf.tb_buflen - typebuf.tb_off - typebuf.tb_len - 1,