summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/autoload.el
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-04-12 03:23:35 +0100
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-04-12 03:57:59 +0100
commit3ba6b3a9c1e0565ee5f45f11a9c09702a24f8453 (patch)
tree3c042822631e92cfe0876f2f3bed59ff0abf0240 /lisp/emacs-lisp/autoload.el
parent50ddc67739d14c4371e11ba52b91308efe21b3db (diff)
downloademacs-3ba6b3a9c1e0565ee5f45f11a9c09702a24f8453.tar.gz
Speed up byte-compilation and autoload generation by avoiding mode-hooks
This prevents emacs-lisp-mode-hook from being run everytime an autoload file is generated, which can account for a fraction of package installation time depending on the hooks the user has configured. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks. * lisp/emacs-lisp/autoload.el (autoload-find-file) (autoload-find-generated-file): Use delay-mode-hooks.
Diffstat (limited to 'lisp/emacs-lisp/autoload.el')
-rw-r--r--lisp/emacs-lisp/autoload.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 073d923a178..206d5bb4434 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -235,8 +235,9 @@ If a buffer is visiting the desired autoload file, return it."
(enable-local-eval nil))
;; We used to use `raw-text' to read this file, but this causes
;; problems when the file contains non-ASCII characters.
- (find-file-noselect
- (autoload-ensure-default-file (autoload-generated-file)))))
+ (let ((delay-mode-hooks t))
+ (find-file-noselect
+ (autoload-ensure-default-file (autoload-generated-file))))))
(defun autoload-generated-file ()
(expand-file-name generated-autoload-file
@@ -400,7 +401,7 @@ which lists the file name and which functions are in it, etc."
(erase-buffer)
(setq buffer-undo-list t
buffer-read-only nil)
- (emacs-lisp-mode)
+ (delay-mode-hooks (emacs-lisp-mode))
(setq default-directory (file-name-directory file))
(insert-file-contents file nil)
(let ((enable-local-variables :safe)