Emacs Part 32
■ このスレッドは過去ログ倉庫に格納されています
0631名無しさん@お腹いっぱい。
2009/12/08(火) 20:01:51(defmacro with-file (filename &rest body)
(let ((buf (gensym "--buf--")) (fn (gensym "--fn--")))
`(let ((,fn ,filename))
(let ((,buf (get-file-buffer ,fn)) need-close)
(unless ,buf
(setq ,buf (find-file ,fn) need-close t))
(when ,buf
(unwind-protect (progn ,@body)
(when need-close
(kill-buffer ,buf))))))))
(put 'with-file lisp-indent-function 1)
(defmacro edit-files (files &rest body)
(let ((f (gensym "--f--")))
`(mapc (lambda (,f) (with-file ,f ,@body (save-buffer))) ,files)))
(put 'edit-files lisp-indent-function 1)
(edit-files '("~/file1" "~/file2" "~/file3")
(upcase-region (point-min) (point-max)))
■ このスレッドは過去ログ倉庫に格納されています