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.
This commit is contained in:
parent
50ddc67739
commit
3ba6b3a9c1
2 changed files with 5 additions and 4 deletions
|
@ -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)
|
||||
|
|
|
@ -1799,7 +1799,7 @@ The value is non-nil if there were no errors, nil if errors."
|
|||
(progn
|
||||
(setq-default major-mode 'emacs-lisp-mode)
|
||||
;; Arg of t means don't alter enable-local-variables.
|
||||
(normal-mode t))
|
||||
(delay-mode-hooks (normal-mode t)))
|
||||
(setq-default major-mode dmm))
|
||||
;; There may be a file local variable setting (bug#10419).
|
||||
(setq buffer-read-only nil
|
||||
|
|
Loading…
Add table
Reference in a new issue