Function: evil-delete-buffer
evil-delete-buffer is an interactive and byte-compiled function
defined in evil-commands.el.
Signature
(evil-delete-buffer BUFFER &optional BANG)
Documentation
Delete a buffer.
All windows currently showing this buffer will be closed except for the last window in each frame.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/evil-20251108.138/evil-commands.el
(evil-define-command evil-delete-buffer (buffer &optional bang)
"Delete a buffer.
All windows currently showing this buffer will be closed except
for the last window in each frame."
(interactive "<b><!>")
(with-current-buffer (or buffer (current-buffer))
(when bang
(set-buffer-modified-p nil)
(dolist (process (process-list))
(when (eq (process-buffer process) (current-buffer))
(set-process-query-on-exit-flag process nil))))
;; get all windows that show this buffer
(let ((wins (get-buffer-window-list (current-buffer) nil t)))
;; if the buffer which was initiated by emacsclient,
;; call `server-edit' from server.el to avoid
;; "Buffer still has clients" message
(if (and (bound-and-true-p server-buffer-clients)
(fboundp 'server-edit))
(server-edit)
(kill-buffer nil))
;; close all windows that showed this buffer
(dolist (w wins) (ignore-errors (delete-window w))))))