# HG changeset patch # User Richard M. Stallman # Date 1064926024 0 # Node ID fb1ccaa3483040de2e86b9f799efab492ed53e28 # Parent ef1f49172c0b0f11e4e1d570868de2e0d51f2f3a (lm-with-file): When FILE is nil, run BODY in current buffer. diff -r ef1f49172c0b -r fb1ccaa34830 lisp/emacs-lisp/lisp-mnt.el --- a/lisp/emacs-lisp/lisp-mnt.el Tue Sep 30 12:45:44 2003 +0000 +++ b/lisp/emacs-lisp/lisp-mnt.el Tue Sep 30 12:47:04 2003 +0000 @@ -297,12 +297,14 @@ (defmacro lm-with-file (file &rest body) "Execute BODY in a buffer containing the contents of FILE. -If FILE is nil, just return nil." +If FILE is nil, execute BODY in the current buffer." (let ((filesym (make-symbol "file"))) `(let ((,filesym ,file)) - (when ,filesym - (with-temp-buffer - (insert-file-contents ,filesym) + (if ,filesym + (with-temp-buffer + (insert-file-contents ,filesym) + ,@body) + (save-excursion ,@body))))) (put 'lm-with-file 'lisp-indent-function 1) (put 'lm-with-file 'edebug-form-spec t)