summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-03-03 15:24:28 +0100
committerBram Moolenaar <Bram@vim.org>2021-03-03 15:24:28 +0100
commit51b477f74f0de11f6f92a65590f358e04a60a099 (patch)
treed30445ea10164055c844b0871c2a9958493ae8f1
parent4fa1175765d55613302fc27d0f65e2c699452b6e (diff)
patch 8.2.2564: focus events end Insert mode if 'esckeys' is not setv8.2.2564
Problem: Focus events end Insert mode if 'esckeys' is not set. Solution: Do not enable focus events when 'esckeys' is off. (closes #7926)
-rw-r--r--src/term.c13
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 6 deletions
diff --git a/src/term.c b/src/term.c
index 1440550287..d2ada6c2b0 100644
--- a/src/term.c
+++ b/src/term.c
@@ -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
diff --git a/src/version.c b/src/version.c
index 83854d1ebb..f32414346b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2564,
+/**/
2563,
/**/
2562,