選択中のBufferが「*」つきの名前のbufferなら消す

という機能。前にS-F11で*つきBufferを全て削除するというのを導入したんだけど、全部消して欲しくない場合もあったので、というか間違えて消してしまうと操作が面倒なので選択中のが*つきなら削除するようにした。qとか(C-g想定してみたけどquitが消えて危険そうなので止めた)適当な単純なキーに割り当てても良い感じ。*がない関係ないバッファでは特に何もしない。

;選択中のBufferが「*」つきの名前のbufferなら抜ける
(defun clear-temp-buffer()
(interactive)
(let ((buffern (buffer-name (selected-buffer))))
   (and  (equal (schar buffern 0) #\*)
		 (not (equal "*scratch*" buffern))
		 (delete-buffer (selected-buffer))
		 (if (> (count-windows) 1)
			 (delete-window))
		 )
   ))

使ってみてて思ったのはこの前のmy-kill-bufferでもいいじゃないかとか思ってみたりした。一応*つきBuffer以外は反応しない安全機能は付いてるけど特に意味なさそうだし。