0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.1.1605: Vim may delay processing messages on a json channel

Problem:    Vim may delay processing messages on a json channel. (Pontus
            Leitzler)
Solution:   Try parsing json when checking if there is readahead.
This commit is contained in:
Bram Moolenaar 2019-06-28 22:06:49 +02:00
parent 13b47c37a6
commit 4340fc95d5
2 changed files with 8 additions and 2 deletions

View File

@ -2851,9 +2851,13 @@ channel_has_readahead(channel_T *channel, ch_part_T part)
if (ch_mode == MODE_JSON || ch_mode == MODE_JS)
{
jsonq_T *head = &channel->ch_part[part].ch_json_head;
jsonq_T *item = head->jq_next;
return item != NULL;
if (head->jq_next == NULL)
// Parse json from readahead, there might be a complete message to
// process.
channel_parse_json(channel, part);
return head->jq_next != NULL;
}
return channel_peek(channel, part) != NULL;
}

View File

@ -777,6 +777,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1605,
/**/
1604,
/**/