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.
|
// Match, consume the code.
|
||||||
typebuf.tb_off += idx + 1;
|
typebuf.tb_off += idx + 1;
|
||||||
typebuf.tb_len -= 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]);
|
mod_mask = decode_modifiers(arg[!form]);
|
||||||
c = merge_modifyOtherKeys(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
|
// remove mapped characters at the start only
|
||||||
typebuf.tb_off += typebuf.tb_maplen;
|
typebuf.tb_off += typebuf.tb_maplen;
|
||||||
typebuf.tb_len -= 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
|
else
|
||||||
{
|
{
|
||||||
@@ -1283,6 +1287,9 @@ alloc_typebuf(void)
|
|||||||
typebuf.tb_no_abbr_cnt = 0;
|
typebuf.tb_no_abbr_cnt = 0;
|
||||||
if (++typebuf.tb_change_cnt == 0)
|
if (++typebuf.tb_change_cnt == 0)
|
||||||
typebuf.tb_change_cnt = 1;
|
typebuf.tb_change_cnt = 1;
|
||||||
|
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
|
||||||
|
typebuf_was_filled = FALSE;
|
||||||
|
#endif
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -738,6 +738,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
370,
|
||||||
/**/
|
/**/
|
||||||
369,
|
369,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user