patch 8.2.2564: focus events end Insert mode if 'esckeys' is not set
Problem: Focus events end Insert mode if 'esckeys' is not set.
Solution: Do not enable focus events when 'esckeys' is off. (closes #7926)
diff --git a/src/term.c b/src/term.c
index 1440550..d2ada6c 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2071,6 +2071,7 @@
focus_mode = TRUE;
focus_state = TRUE;
+ need_gather = TRUE;
}
#endif
@@ -3618,9 +3619,9 @@
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 @@
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 83854d1..f324143 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2564,
+/**/
2563,
/**/
2562,