diff options
author | Richard M. Stallman <rms@gnu.org> | 2005-10-22 15:23:00 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2005-10-22 15:23:00 +0000 |
commit | adbe2d11a711ef2175f76bb8ed149117837b59e3 (patch) | |
tree | 8293ab374b424933450ec01d5f0307a83b4765c0 /lisp/subr.el | |
parent | 55f77e1ce3460637b96ff9f376120fe6735086e6 (diff) | |
download | emacs-adbe2d11a711ef2175f76bb8ed149117837b59e3.tar.gz |
(eval-at-startup): New macro.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r-- | lisp/subr.el | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lisp/subr.el b/lisp/subr.el index 2348c1e3c5d..0e9d3c2b5b0 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1322,7 +1322,23 @@ definition only or variable definition only. file))) -;;;; Specifying things to do after certain files are loaded. +;;;; Specifying things to do later. + +(defmacro eval-at-startup (&rest body) + "Make arrangements to evaluate BODY when Emacs starts up. +If this is run after Emacs startup, evaluate BODY immediately. +Always returns nil. + +This works by adding a function to `before-init-hook'. +That function's doc string says which file created it." + `(progn + (if command-line-processed + (progn . ,body) + (add-hook 'before-init-hook + '(lambda () ,(concat "From " (or load-file-name "no file")) + . ,body) + t)) + nil)) (defun eval-after-load (file form) "Arrange that, if FILE is ever loaded, FORM will be run at that time. |