diff options
-rw-r--r-- | doc/cheat.texi | 3 | ||||
-rw-r--r-- | elisp/geiser-repl.el | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/doc/cheat.texi b/doc/cheat.texi index f027b64..3dd0f8d 100644 --- a/doc/cheat.texi +++ b/doc/cheat.texi @@ -130,6 +130,9 @@ third key not modified by @key{Control}; e.g., @item C-c M-o @tab @code{geiser-repl-clear-buffer} @tab Clear REPL buffer +@item C-c C-k +@tab @code{geiser-repl-interrupt} +@tab Interrupt REPL evaluation (signalling inferior scheme) @item C-c C-q @tab @code{geiser-repl-exit} @tab Kill Scheme process diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index adc8872..9ecbd25 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -452,6 +452,11 @@ module command as a string") (let ((comint-input-filter (lambda (x) nil))) (comint-send-input nil t)))) +(defun geiser-repl-interrupt () + (interactive) + (when (get-buffer-process (current-buffer)) + (interrupt-process nil comint-ptyp))) + ;;; REPL history @@ -685,6 +690,9 @@ buffer." ("Previous input" "\C-c\M-p" comint-previous-input) ("Next input" "\C-c\M-n" comint-next-input) -- + ("Interrupt evaluation" ("\C-c\C-k" "\C-c\C-c" "\C-ck") + geiser-repl-interrupt) + -- (mode "Autodoc mode" ("\C-c\C-da" "\C-c\C-d\C-a") geiser-autodoc-mode) ("Symbol documentation" ("\C-c\C-dd" "\C-c\C-d\C-d") geiser-doc-symbol-at-point |