From: Bram Moolenaar Date: Thu, 7 Sep 2017 18:18:40 +0000 (+0200) Subject: patch 8.0.1069: still get CTRL-X sometimes X-Git-Tag: v8.0.1069 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37b53270e1a65d1d56187a3d68439e666e8b75fd;p=vim patch 8.0.1069: still get CTRL-X sometimes Problem: Still get CTRL-X sometimes for t_RS request. Solution: Also skip 0x18 after a key code response. --- diff --git a/src/term.c b/src/term.c index aedcc1988..bc8c6ace2 100644 --- a/src/term.c +++ b/src/term.c @@ -4741,9 +4741,10 @@ check_termcode( key_name[0] = (int)KS_EXTRA; key_name[1] = (int)KE_IGNORE; slen = i + 1 + (tp[i] == ESC); - if (tp[i] == 0x07 && i + 1 < len && tp[i + 1] == 0x18) - /* Sometimes the 0x07 is followed by 0x18, unclear - * when this happens. */ + if (rcs_status == STATUS_SENT + && slen < len && tp[slen] == 0x18) + /* Some older xterm send 0x18 for the T_RS request, + * skip it here. */ ++slen; # ifdef FEAT_EVAL set_vim_var_string(VV_TERMRGBRESP, tp, slen); @@ -4793,6 +4794,11 @@ check_termcode( key_name[0] = (int)KS_EXTRA; key_name[1] = (int)KE_IGNORE; slen = i + 1 + (tp[i] == ESC); + if (rcs_status == STATUS_SENT + && slen < len && tp[slen] == 0x18) + /* Some older xterm send 0x18 for the T_RS request, + * skip it here. */ + ++slen; break; } } diff --git a/src/version.c b/src/version.c index 7ba723209..094f05f12 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1069, /**/ 1068, /**/