mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.0370: the typebuf_was_filled flag is sometimes not reset
Problem: The typebuf_was_filled flag is sometimes not reset, which may cause a hang. Solution: Make sure typebuf_was_filled is reset when the typeahead buffer is empty.
This commit is contained in:
@@ -1612,6 +1612,10 @@ decodeModifyOtherKeys(int c)
|
||||
// Match, consume the code.
|
||||
typebuf.tb_off += idx + 1;
|
||||
typebuf.tb_len -= idx + 1;
|
||||
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
|
||||
if (typebuf.tb_len == 0)
|
||||
typebuf_was_filled = FALSE;
|
||||
#endif
|
||||
|
||||
mod_mask = decode_modifiers(arg[!form]);
|
||||
c = merge_modifyOtherKeys(arg[form]);
|
||||
|
@@ -421,6 +421,10 @@ flush_buffers(flush_buffers_T flush_typeahead)
|
||||
// remove mapped characters at the start only
|
||||
typebuf.tb_off += typebuf.tb_maplen;
|
||||
typebuf.tb_len -= typebuf.tb_maplen;
|
||||
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
|
||||
if (typebuf.tb_len == 0)
|
||||
typebuf_was_filled = FALSE;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1283,6 +1287,9 @@ alloc_typebuf(void)
|
||||
typebuf.tb_no_abbr_cnt = 0;
|
||||
if (++typebuf.tb_change_cnt == 0)
|
||||
typebuf.tb_change_cnt = 1;
|
||||
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
|
||||
typebuf_was_filled = FALSE;
|
||||
#endif
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@@ -738,6 +738,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
370,
|
||||
/**/
|
||||
369,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user