patch 7.4.1886
Problem: When waiting for a character is interrupted by receiving channel
data and the first character of a mapping was typed, the mapping
times out. (Ramel Eshed)
Solution: When dealing with channel data don't return from mch_inchar().
diff --git a/src/getchar.c b/src/getchar.c
index 81cb837..56de094 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -129,6 +129,7 @@
static void map_free(mapblock_T **);
static void validate_maphash(void);
static void showmap(mapblock_T *mp, int local);
+static int inchar(char_u *buf, int maxlen, long wait_time, int tb_change_cnt);
#ifdef FEAT_EVAL
static char_u *eval_map_expr(char_u *str, int c);
#endif
@@ -2941,7 +2942,7 @@
* Return the number of obtained characters.
* Return -1 when end of input script reached.
*/
- int
+ static int
inchar(
char_u *buf,
int maxlen,