Function: eca-chat--on-buffer-killed

eca-chat--on-buffer-killed is a natively compiled function defined in eca-chat.el.

Signature

(eca-chat--on-buffer-killed)

Documentation

Handle killing of the current chat buffer.

Switches any window showing this chat to a sibling chat (so a dedicated chat window is not replaced by an unrelated buffer such as settings) and drops the chat from the session registry. The chat is never deleted server-side: it stays resumable and the server retention cleanup takes care of old chats. Delete explicitly with eca-chat-delete or the /delete-chat command.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--on-buffer-killed ()
  "Handle killing of the current chat buffer.
Switches any window showing this chat to a sibling chat (so a
dedicated chat window is not replaced by an unrelated buffer such
as settings) and drops the chat from the session registry.  The
chat is never deleted server-side: it stays resumable and the
server retention cleanup takes care of old chats.  Delete
explicitly with `eca-chat-delete' or the /delete-chat command."
  (when (eca-chat--user-initiated-kill-p)
    (eca-chat--stream-flush)
    (let ((buffer (current-buffer))
          (chat-id eca-chat--id))
      (when-let* ((session (ignore-errors (eca-session))))
        (eca-chat--switch-windows-to-sibling session buffer)
        (setf (eca--session-chats session)
              (eca-dissoc (eca--session-chats session) chat-id))
        (eca-chat--invalidate-tab-line-cache session)
        (eca-chat--force-tab-line-update)
        (eca-chat--notify-status-changed session)))))