Function: eca-process-stop
eca-process-stop is a natively compiled function defined in
eca-process.el.
Signature
(eca-process-stop SESSION)
Documentation
Stop the eca process for SESSION if running.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-process.el
(defun eca-process-stop (session)
"Stop the eca process for SESSION if running."
(when session
(kill-process (eca--session-process session))
(kill-buffer (eca-process--buffer-name session))
;; Rename stderr buffer to closed and clean up older closed ones
(let ((stderr-buffer (get-buffer (eca-process--stderr-buffer-name session))))
(when stderr-buffer
(with-current-buffer stderr-buffer
(rename-buffer (concat (buffer-name) ":closed") t)
(setq-local mode-line-format '("*Closed session*"))
(when-let ((win (get-buffer-window (current-buffer))))
(quit-window nil win))
;; Keep only the most recently closed stderr buffer; kill older ones.
;; Only kill :closed buffers — never non-closed ones which belong
;; to active sessions.
(let ((current (current-buffer)))
(dolist (b (buffer-list))
(when (and (not (eq b current))
(string-match-p "^<eca:stderr:.*>:closed" (buffer-name b)))
(kill-buffer b)))))))))