*の付いたbufferを消す

前に書いたのより、よさそうなのを見つけたので、それを使うことにのメモ。兎に角無駄なWindowを閉じたい症候群なので一応Windowが閉じるんじゃないかと言うようなのを付け足してみたり。

(defun clear-temp-buffers()
  "*の付いたバッファーを削除"
(interactive)
 (let ((fn))
  (dolist (bf (buffer-list))
	(setq fn (buffer-name bf))
	(when (and fn
		   (equal (schar fn 0) #\*)
		   (not (equal "*scratch*" fn)))
	 ;(msgbox(format nil "<~A>" fn))
	   (delete-buffer bf);否応なしに
     ;(erase-buffer bf);尋ねてくる
	   (if (> (count-windows) 1)
	   (delete-window))
	  )
	)))

元ネタはこちら。
(buffer & file lisp)しょぼしょぼすくりぷと xyzzy
http://www2.ocn.ne.jp/~cheerful/script/xyzzy/library/buffer.html#erase_buffer