]> granicus.if.org Git - vim/commitdiff
patch 8.0.1069: still get CTRL-X sometimes v8.0.1069
authorBram Moolenaar <Bram@vim.org>
Thu, 7 Sep 2017 18:18:40 +0000 (20:18 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 7 Sep 2017 18:18:40 +0000 (20:18 +0200)
Problem:    Still get CTRL-X sometimes for t_RS request.
Solution:   Also skip 0x18 after a key code response.

src/term.c
src/version.c

index aedcc198824b1ce0c0b13cf38b059096049728dc..bc8c6ace266965acd19ca26dcad7f0742fbab076 100644 (file)
@@ -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;
                    }
                  }
index 7ba7232095b990dae0e76e8c360691bbd49e788c..094f05f126f53abb5a8cd8fa3ec116fb7d15ada8 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1069,
 /**/
     1068,
 /**/