fix: disable kitty keyboard, fix CSI parser crashes

- Disabled \033[?u kitty keyboard protocol in modern-backend
  (converts all keys to escape sequences, breaking Ctrl+letter dispatch)
- Fixed parse-csi-sequence: use multiple-value-bind instead of let*
  with destructuring-bind (lost secondary return value from read-param)
- Fixed parse-csi-params format string: pass char-code of terminator
  as distinct argument for ~d, keeping the character for ~C
- Added %query-terminal-size in classes.lisp: ANSI CSI 18t fallback
  for terminal size detection when ioctl fails or returns zero
This commit is contained in:
2026-05-14 09:31:09 -04:00
parent e8b37f6268
commit 14b41831c3
4 changed files with 50 additions and 14 deletions

View File

@@ -38,7 +38,8 @@
(sb-alien:alien-sap winsize))
(values (sb-alien:deref winsize 1)
(sb-alien:deref winsize 0)))
(sb-alien:free-alien winsize))))
(sb-alien:free-alien winsize))))
(%query-terminal-size)
(values 80 24)))
(defmethod backend-write ((b simple-backend) string)