バッファ切り替えのためのiflipbの設定 / setting for iflipb to switch buffer

iflipbという、バッファ切り替えのためのパッケージが存在する:
emacs.rubikitch.com

私は以下の設定としている。
カレントバッファと同じメジャーモードのバッファのみを切り替え対象にしたいため、新たに関数を書いた。

(require 'iflipb)

(setq iflipb-wrap-around t)
(setq iflipb-ignore-buffers (list "^[*]"))
(defun my-iflipb-buffer-list ()
  "Returns list of buffers whose major-mode is the same as current buffer's one."
  (let ((cur-buf-list (buffer-list (selected-frame)))
        (same-major-mode-buflist nil)
        (currbuf-major-mode
         (buffer-local-value 'major-mode (current-buffer))))
     (dolist (buffer cur-buf-list)
      (if (eq (buffer-local-value 'major-mode buffer) currbuf-major-mode)
          (add-to-list 'same-major-mode-buflist buffer)))
     (nreverse same-major-mode-buflist)))
(setq iflipb-buffer-list-function 'my-iflipb-buffer-list)

(global-set-key (kbd "C-<tab>") 'iflipb-next-buffer)
(global-set-key (kbd "C-S-<tab>") 'iflipb-previous-buffer)