diff options
Diffstat (limited to 'lisp/loadup.el')
-rw-r--r-- | lisp/loadup.el | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lisp/loadup.el b/lisp/loadup.el index 3b2d4e34938..acc5feab9a5 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -252,6 +252,21 @@ ;For other systems, you must edit ../src/Makefile.in. (load "site-load" t) +;; ¡¡¡ Big Ugly Hack !!! +;; src/boostrap-emacs is mostly used to compile .el files, so it needs +;; macroexp, bytecomp, cconv, and byte-opt to be fast. Generally this is done +;; by compiling those files first, but this only makes a difference if those +;; files are not preloaded. As it so happens, macroexp.el tends to be +;; accidentally preloaded in src/boostrap-emacs because cl.el and cl-macs.el +;; require it. So lets unload it here, if needed, to make sure the +;; byte-compiled version is used. +(if (or (not (fboundp 'macroexpand-all)) + (byte-code-function-p (symbol-function 'macroexpand-all))) + nil + (fmakunbound 'macroexpand-all) + (setq features (delq 'macroexp features)) + (autoload 'macroexpand-all "macroexp")) + ;; Determine which last version number to use ;; based on the executables that now exist. (if (and (or (equal (nth 3 command-line-args) "dump") |