This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch csi-parser-false-positive
in repository terminology.
View the commit online.
commit 82b985d1ea0bcec91d9d6037532fc14a74326052
Author: Johannes Altmanninger <aclo...@gmail.com>
AuthorDate: Tue Mar 4 08:34:12 2025 +0100
Do not interpret "CSI = 5 u" as DECRC
The kitty keyboard protocol can be enabled with commands like "CSI = 5 u",
see https://sw.kovidgoyal.net/kitty/keyboard-protocol/
For better or worse, fish shell version 4 uses this.
Unfortunately, terminology interprets "CSI = 5 u" the same as "CSI u"
(DECRC, restore cursor position). reproduce with 'printf "\x1b[=5u"'.
Fix this; only restore the cursor position if we get the exact DECRC sequence.
Originally reported at https://github.com/fish-shell/fish-shell/issues/11211
---
src/bin/termptyesc.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c
index 018deda6..ada34d78 100644
--- a/src/bin/termptyesc.c
+++ b/src/bin/termptyesc.c
@@ -3623,8 +3623,17 @@ _handle_esc_csi(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
_handle_window_manipulation(ty, &b);
}
break;
- case 'u': // restore cursor pos
- termpty_cursor_copy(ty, EINA_FALSE);
+ case 'u':
+ if (cc == c)
+ {
+ // No parameter. Restore cursor pos
+ termpty_cursor_copy(ty, EINA_FALSE);
+ }
+ else
+ {
+ ERR("unhandled 'u' CSI escape code");
+ ty->decoding_error = EINA_TRUE;
+ }
break;
case 'v':
if (*(cc-1) == '$')
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.