Function: eca-chat--kill-empty-welcome-buffer

eca-chat--kill-empty-welcome-buffer is a natively compiled function defined in eca-chat.el.

Signature

(eca-chat--kill-empty-welcome-buffer SESSION BUFFER KEEP-BUFFER)

Documentation

Kill BUFFER for SESSION if it's a fresh welcome chat.

Skips when BUFFER equals KEEP-BUFFER or when the welcome banner is no longer present (i.e. the user already exchanged messages there). Marks the chat as eca-chat--closed so the kill-buffer hook does not prompt for server-side deletion, and dissocs it from the session's chat registry. Used by eca-chat-resume to clean up the empty buffer that was used to trigger the resume.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--kill-empty-welcome-buffer (session buffer keep-buffer)
  "Kill BUFFER for SESSION if it's a fresh welcome chat.
Skips when BUFFER equals KEEP-BUFFER or when the welcome banner is
no longer present (i.e. the user already exchanged messages there).
Marks the chat as `eca-chat--closed' so the `kill-buffer' hook does
not prompt for server-side deletion, and dissocs it from the
session's chat registry.  Used by `eca-chat-resume' to clean up
the empty buffer that was used to trigger the resume."
  (when (and (buffer-live-p buffer)
             (not (eq buffer keep-buffer))
             (with-current-buffer buffer eca-chat--welcome-shown))
    (with-current-buffer buffer
      (setq-local eca-chat--closed t)
      (when-let* ((cid eca-chat--id))
        (setf (eca--session-chats session)
              (eca-dissoc (eca--session-chats session) cid))
        (eca-chat--invalidate-tab-line-cache session)))
    (kill-buffer buffer)
    (eca-chat--force-tab-line-update)
    (eca-chat--notify-status-changed session)))