Function: erc-track--switch-buffer

erc-track--switch-buffer is a byte-compiled function defined in erc-track.el.gz.

Signature

(erc-track--switch-buffer FUN ARG)

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-track.el.gz
(defun erc-track--switch-buffer (fun arg)
  (if (not erc-track-mode)
      (message (concat "Enable the ERC track module if you want to use the"
		       " tracking minor mode"))
    (cond (erc-modified-channels-alist
	   ;; if we're not in erc-mode, set this buffer to return to
	   (unless (eq major-mode 'erc-mode)
	     (setq erc-track-last-non-erc-buffer (current-buffer)))
	   ;; and jump to the next active channel
	   (funcall fun (erc-track-get-active-buffer arg)))
	  ;; if no active channels, switch back to what we were doing before
	  ((and erc-track-last-non-erc-buffer
                erc-track-switch-from-erc
                (buffer-live-p erc-track-last-non-erc-buffer))
	   (funcall fun erc-track-last-non-erc-buffer)))))