Function: bs-cycle-previous

bs-cycle-previous is an autoloaded, interactive and byte-compiled function defined in bs.el.gz.

Signature

(bs-cycle-previous)

Documentation

Select previous buffer defined by buffer cycling.

The buffers taking part in buffer cycling are defined by buffer configuration bs-cycle-configuration-name.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/bs.el.gz
;;;###autoload
(defun bs-cycle-previous ()
  "Select previous buffer defined by buffer cycling.
The buffers taking part in buffer cycling are defined
by buffer configuration `bs-cycle-configuration-name'."
  (interactive)
  (let ((bs--buffer-coming-from (current-buffer))
	(bs-dont-show-regexp   bs-dont-show-regexp)
	(bs-must-show-regexp   bs-must-show-regexp)
	(bs-dont-show-function bs-dont-show-function)
	(bs-must-show-function bs-must-show-function)
	(bs--show-all          nil))
    (bs-set-configuration (or bs-cycle-configuration-name bs-default-configuration))
    (let ((bs-buffer-sort-function nil)
	  (bs--current-sort-function nil))
      (let* ((tuple (bs-previous-buffer (if (or (eq last-command
						    'bs-cycle-next)
						(eq last-command
						    'bs-cycle-previous))
					    bs--cycle-list)))
             (prev-buffer (car tuple))
             (cycle-list (cdr tuple)))
	(switch-to-buffer prev-buffer nil t)
	(setq bs--cycle-list (append (last cycle-list)
				     (reverse (cdr (reverse cycle-list)))))
	(bs-message-without-log "Previous buffers: %s"
				(or (reverse (cdr bs--cycle-list))
				    "this buffer"))))))