Function: bury-buffer
bury-buffer is an interactive and byte-compiled function defined in
window.el.gz.
Signature
(bury-buffer &optional BUFFER-OR-NAME)
Documentation
Put BUFFER-OR-NAME at the end of the list of all buffers.
There it is the least likely candidate for other-buffer to
return; thus, the least likely buffer for C-x b (switch-to-buffer) to
select by default.
You can specify a buffer name as BUFFER-OR-NAME, or an actual buffer object. If BUFFER-OR-NAME is nil or omitted, bury the current buffer. Also, if BUFFER-OR-NAME is nil or omitted, remove the current buffer from the selected window if it is displayed there.
Probably introduced at or before Emacs version 16.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/window.el.gz
(defun bury-buffer (&optional buffer-or-name)
"Put BUFFER-OR-NAME at the end of the list of all buffers.
There it is the least likely candidate for `other-buffer' to
return; thus, the least likely buffer for \\[switch-to-buffer] to
select by default.
You can specify a buffer name as BUFFER-OR-NAME, or an actual
buffer object. If BUFFER-OR-NAME is nil or omitted, bury the
current buffer. Also, if BUFFER-OR-NAME is nil or omitted,
remove the current buffer from the selected window if it is
displayed there."
(interactive)
(let* ((buffer (window-normalize-buffer buffer-or-name)))
;; If `buffer-or-name' is not on the selected frame we unrecord it
;; although it's not "here" (call it a feature).
(bury-buffer-internal buffer)
;; Handle case where `buffer-or-name' is nil and the current buffer
;; is shown in the selected window.
(cond
((or buffer-or-name
(not (eq buffer (window-buffer)))
;; Don't try to delete the minibuffer window, undedicate it
;; or switch to a previous buffer in it.
(window-minibuffer-p)))
((window--delete nil t))
(t
;; Switch to another buffer in window.
(set-window-dedicated-p nil nil)
(switch-to-prev-buffer nil 'bury)))
;; Always return nil.
nil))