]> granicus.if.org Git - vim/commitdiff
patch 8.2.2564: focus events end Insert mode if 'esckeys' is not set v8.2.2564
authorBram Moolenaar <Bram@vim.org>
Wed, 3 Mar 2021 14:24:28 +0000 (15:24 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 3 Mar 2021 14:24:28 +0000 (15:24 +0100)
Problem:    Focus events end Insert mode if 'esckeys' is not set.
Solution:   Do not enable focus events when 'esckeys' is off. (closes #7926)

src/term.c
src/version.c

index 14405502879153781a8d75a0f575b49bbd643594..d2ada6c2b056e28b12e3223adab09784b1a9e963 100644 (file)
@@ -2071,6 +2071,7 @@ set_termname(char_u *term)
 
        focus_mode = TRUE;
        focus_state = TRUE;
+       need_gather = TRUE;
     }
 #endif
 
@@ -3618,9 +3619,9 @@ starttermcap(void)
        out_str(T_KS);                  // start "keypad transmit" mode
        out_str(T_BE);                  // enable bracketed paste mode
 
-#if (defined(UNIX) || defined(VMS))
-       // enable xterm's focus reporting mode
-       if (focus_mode && *T_FE != NUL)
+#if defined(UNIX) || defined(VMS)
+       // Enable xterm's focus reporting mode when 'esckeys' is set.
+       if (focus_mode && p_ek && *T_FE != NUL)
            out_str(T_FE);
 #endif
 
@@ -3676,9 +3677,9 @@ stoptermcap(void)
        ch_log_output = TRUE;
 #endif
 
-#if (defined(UNIX) || defined(VMS))
-       // disable xterm's focus reporting mode
-       if (focus_mode && *T_FD != NUL)
+#if defined(UNIX) || defined(VMS)
+       // Disable xterm's focus reporting mode if 'esckeys' is set.
+       if (focus_mode && p_ek && *T_FD != NUL)
            out_str(T_FD);
 #endif
 
index 83854d1ebb43b568f5eb601e9dff2dfc403ce4e1..f32414346b7a4704b8ce6f0fad9f0cf35c6d7dbb 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2564,
 /**/
     2563,
 /**/