バッファをtoggleする関数とか

ありそうで無いみたいだったので書いてみました.最近行ったバッファから順に切り替わるようになってます.

;;カレントバッファをトグルする関数群
(defun next-string-from-buffer-list (string buffer-list counter)
  (if (string= string (nth counter buffer-list))
      (if (= counter (1- (length buffer-list)))
	  0
	  (1+ counter))
      (next-string-from-buffer-list string buffer-list (1+ counter))))

(defun prev-string-from-buffer-list (string buffer-list counter)
  (if (string= string (nth counter buffer-list))
      (if (= 0 counter)
	  (1- (length buffer-list))
	  (1- counter))
      (prev-string-from-buffer-list string buffer-list (1+ counter))))

(defun unimportant-buffer-p (buffer-name)
  (string-lessp buffer-name " \d"))

(defun toggle-buffer ()
  (interactive)
  (let *1 buff-str-list 0)
	  buff-str-list) t)))

(defun toggle-buffer-backward ()
  (interactive)
  (let *2 buff-str-list 0)
	  buff-str-list) t)))

;;以下のキーシーケンスに割り当てる
(global-set-key "\C-t" 'toggle-buffer)
(global-set-key "\C-q" 'toggle-buffer-backward)

*1:buff-str-list (remove-if (function unimportant-buffer-p) (mapcar (function buffer-name) (buffer-list))))) (switch-to-buffer (nth (next-string-from-buffer-list (buffer-name (current-buffer

*2:buff-str-list (remove-if (function unimportant-buffer-p) (mapcar (function buffer-name) (buffer-list))))) (switch-to-buffer (nth (prev-string-from-buffer-list (buffer-name (current-buffer