変更されてないバッファーを全部閉じる。ただし、*...* 名(scratch など)は除く。
(defun my-close-all-unmodified-buffer ()
(interactive)
(let ((buffers (buffer-list)))
(mapcar
#'(lambda (buf)
(if (and (not (buffer-modified-p buf))
(not (string-match "^\\*.+\\*$" (buffer-name buf))))
(kill-buffer buf)))
buffers)
))