aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-03 19:11:26 -0400
committerCraig Jennings <c@cjennings.net>2026-07-03 19:11:52 -0400
commit5567d582a65ef286c4e893cc2e30aaef9e184cd0 (patch)
tree28d01c2c4ea112fdec1664422b2b6c24e8a071cf
parentefc1b1101a524c6a23bcb8ba828b3cf36c81040c (diff)
downloaddotemacs-5567d582a65ef286c4e893cc2e30aaef9e184cd0.tar.gz
dotemacs-5567d582a65ef286c4e893cc2e30aaef9e184cd0.zip
fix(eat): prohibit C-z so a stray keypress can't background the agent
C-z forwarded to the pty sends SIGTSTP to the foreground job; with eat-over-tmux, fg does not reliably bring the agent back. Swallow it in eat-semi-char-mode-map so it never reaches the pty.
-rw-r--r--modules/eat-config.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/eat-config.el b/modules/eat-config.el
index e059fe36..e5b8f0c5 100644
--- a/modules/eat-config.el
+++ b/modules/eat-config.el
@@ -560,7 +560,12 @@ pty; without tmux, moves point up in EAT's emacs-mode buffer."
;; (point jumped back on the next keystroke). Window arrows (S-, C-M-) keep
;; reaching Emacs for windmove / buffer-move.
(dolist (key '("C-<left>" "C-<right>" "M-<left>" "M-<right>"))
- (keymap-set eat-semi-char-mode-map key #'eat-self-input)))
+ (keymap-set eat-semi-char-mode-map key #'eat-self-input))
+ ;; C-z is prohibited. Forwarded to the pty it sends SIGTSTP to the foreground
+ ;; job, backgrounding the agent; with eat-over-tmux, `fg' does not reliably
+ ;; bring it back. Swallowing it here (a no-op that reaches Emacs, not the pty)
+ ;; keeps a stray C-z from stopping the agent.
+ (keymap-set eat-semi-char-mode-map "C-z" #'ignore))
(provide 'eat-config)
;;; eat-config.el ends here