patch 9.0.0976: enabling the kitty keyboard protocol uses push/pop
Problem: Enabling the kitty keyboard protocol uses push/pop.
Solution: Use the start/stop codes to avoid unpredictable behavior.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 83a4904..e940447 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4901,7 +4901,7 @@
mok2 modifyOtherKeys level 2, as supported by xterm
kitty Kitty keyboard protocol, as supported by Kitty
- The option value is a list of command separated items. Each item has
+ The option value is a list of comma separated items. Each item has
a pattern that is matched against the 'term' option, a colon and the
protocol name to be used. To illustrate this, the default value would
be set with: >
@@ -4926,12 +4926,13 @@
CSI >4;m disables modifyOtherKeys
The t_TI value is changed to:
CSI >4;2m enables modifyOtherKeys
+ CSI ?4m request the modifyOtherKeys state
kitty The t_TE value is changed to:
CSI >4;m disables modifyOtherKeys
- CSI <u disables the kitty keyboard protocol
+ CSI =0;1u disables the kitty keyboard protocol
The t_TI value is changed to:
- CSI >1u enables the kitty keyboard protocol
+ CSI =1;1u enables the kitty keyboard protocol
CSI ?u request kitty keyboard protocol state
CSI >c request the termresponse
diff --git a/src/term.c b/src/term.c
index 74c4612..9a45f46 100644
--- a/src/term.c
+++ b/src/term.c
@@ -608,11 +608,11 @@
static tcap_entry_T builtin_kitty[] = {
// t_TI enables the kitty keyboard protocol, requests the kitty keyboard
// protocol state and requests the version response.
- {(int)KS_CTI, "\033[>1u\033[?u\033[>c"},
+ {(int)KS_CTI, "\033[=1;1u\033[?u\033[>c"},
// t_TE also disabled modifyOtherKeys, because t_TI from xterm may already
// have been used.
- {(int)KS_CTE, "\033[>4;m\033[<u"},
+ {(int)KS_CTE, "\033[>4;m\033[=0;1u"},
{(int)KS_NAME, NULL} // end marker
};
diff --git a/src/version.c b/src/version.c
index 98f1cf2..37d7c8f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 976,
+/**/
975,
/**/
974,