Function: tab-line-select-tab-buffer
tab-line-select-tab-buffer is a byte-compiled function defined in
tab-line.el.gz.
Signature
(tab-line-select-tab-buffer BUFFER &optional WINDOW)
Source Code
;; Defined in /usr/src/emacs/lisp/tab-line.el.gz
(defun tab-line-select-tab-buffer (buffer &optional window)
(let* ((window-buffer (window-buffer window))
(next-buffers (seq-remove (lambda (b) (eq b window-buffer))
(window-next-buffers window)))
(prev-buffers (seq-remove (lambda (b) (eq b window-buffer))
(mapcar #'car (window-prev-buffers window))))
;; Remove next-buffers from prev-buffers
(prev-buffers (seq-difference prev-buffers next-buffers)))
(cond
((and (eq tab-line-tabs-function #'tab-line-tabs-window-buffers)
(memq buffer next-buffers))
(dotimes (_ (1+ (seq-position next-buffers buffer)))
(switch-to-next-buffer window)))
((and (eq tab-line-tabs-function #'tab-line-tabs-window-buffers)
(memq buffer prev-buffers))
(dotimes (_ (1+ (seq-position prev-buffers buffer)))
(switch-to-prev-buffer window)))
(t
(with-selected-window window
(switch-to-buffer buffer))))))