;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/erc/erc-iterate.el (require 'cl-lib) (require 'erc) (require 'erc-scroll) (defun erc-buffers (&optional channels-only) (if channels-only (cl-remove-if-not #'erc-channel-p (erc-buffer-list)) (erc-buffer-list) )) (defun erc-next-buffer (&optional channels-only) "Go to the next ERC buffer. If CHANNELS-ONLY, skip server buffers." (interactive "P") (let*((erc-buffers (erc-buffers channels-only)) (current (car erc-buffers)) (next (cadr erc-buffers)) ) (when next (bury-buffer current) (switch-to-erc-buffer next) ))) (defun erc-prev-buffer (&optional channels-only) "Go to the prev ERC buffer, if available. If CHANNELS-ONLY, skip server buffers." (interactive "P") (let*((erc-buffers (erc-buffers channels-only)) (prev (car (last erc-buffers))) ) (when prev (switch-to-erc-buffer prev) ))) (provide 'erc-iterate)