@@ -4589,7 +4589,7 @@ check_termcode(
45894589 /* PuTTY sends 0;136;0
45904590 * vandyke SecureCRT sends 1;136;0 */
45914591 if (version == 136
4592- && STRNCMP (tp + extra - 3 , ";136;0c" , 8 ) == 0 )
4592+ && STRNCMP (tp + extra - 1 , ";136;0c" , 7 ) == 0 )
45934593 is_not_xterm = TRUE;
45944594
45954595 /* Konsole sends 0;115;0 */
@@ -4747,9 +4747,10 @@ check_termcode(
47474747 key_name [0 ] = (int )KS_EXTRA ;
47484748 key_name [1 ] = (int )KE_IGNORE ;
47494749 slen = i + 1 + (tp [i ] == ESC );
4750- if (tp [i ] == 0x07 && i + 1 < len && tp [i + 1 ] == 0x18 )
4751- /* Sometimes the 0x07 is followed by 0x18, unclear
4752- * when this happens. */
4750+ if (rcs_status == STATUS_SENT
4751+ && slen < len && tp [slen ] == 0x18 )
4752+ /* Some older xterm send 0x18 for the T_RS request,
4753+ * skip it here. */
47534754 ++ slen ;
47544755# ifdef FEAT_EVAL
47554756 set_vim_var_string (VV_TERMRGBRESP , tp , slen );
@@ -4799,6 +4800,11 @@ check_termcode(
47994800 key_name [0 ] = (int )KS_EXTRA ;
48004801 key_name [1 ] = (int )KE_IGNORE ;
48014802 slen = i + 1 + (tp [i ] == ESC );
4803+ if (rcs_status == STATUS_SENT
4804+ && slen < len && tp [slen ] == 0x18 )
4805+ /* Some older xterm send 0x18 for the T_RS request,
4806+ * skip it here. */
4807+ ++ slen ;
48024808 break ;
48034809 }
48044810 }
0 commit comments