適当に改造

どこかで、拾って前から使わせてもらっていた、特殊バッファ削除&ウィンドウを1つにする奴。非常に便利なんだけど、Windowを消した後表示がもう一方のWindowに移らずに変なところを表示するので、適当に改造。info-modokiのF1とqのような関係にしたかった。ので、パクッタ(:D)| ̄|_ 。そして例によって超絶合体(といっても2,3行だけど)。それと、機能を忘れるので鶏仕様にファンクションキーの所にも一応表示されるように。どこか間違っている可能性が果てしなく高いが、とりあえず望んだように動くので良しとした。
こんな感じ。

(defun cleanup-window()
  (interactive)
  (let ((bufl (buffer-list)) buf name)
    (loop
      (setq buf (pop bufl))
      (if (null buf) (return nil))
      (setq name (buffer-name buf))
      (if (member-if
           #'(lambda (str) (string= name str))
           '("*grep*" "*Help*" "*Completion*" "*Shell output*"
			 "*Calendar*" "*PickupPatternShow*" "*dictionary*"
			 "*Buffer List*" "*XML Command error*"
			 "*buf2html: HTML*" "buf2html: CSS*" "*output*"
			 "*NetInstaller Log*" "*NetInstaller Apps*"
			 "*NetInstaller Detail*" "*Abbrevs*"
            ))
		  (delete-buffer buf)
		(if (> (count-windows) 1)
			(delete-window))))))
(global-set-key #\S-F11 'cleanup-window)
(set-function-bar-label #\S-F11 "*hoge*削除")


一応晒しているけど、命の補償はないので、命知らずな冒険野郎だけ使ってくれ。正常な人間は改造前のがオススメ。
今見たら、タブとかスペースとか表示されないのね。まあ、どうせタブもスペースもごちゃ混ぜの舐めた感じなので、見えない方が良い場合もあるという罠。
調べたら一応はてな記法とかいうので表示させれたので、そうしてみた。

■どうでもいいこと
 xyzzyの補完はデフォルトだとlispは以外のがかなり厳しい感じ、色々bufferを開きまくってると他のファイルの動的補完が違うモードだと邪魔臭い。lisp以外のファイルを開いててcarとかsetqとかでても限りなく意味なさそう。補完モードをってのを研究してみようかしら。xyzzyは操作性はいいのに設定が面倒なのが玉に傷。他のエディタならキーを調べるだけでいいとか考えるとEmacs系の費用対効果には結構疑問符は付く感じ。