1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

lisp/custom.el (load-theme): Only compute hash when needed

This commit is contained in:
Mark Oteiza 2015-09-13 14:12:22 -04:00
parent 7f6b6f1a16
commit c051487fcf

View file

@ -1214,13 +1214,11 @@ Return t if THEME was successfully loaded, nil otherwise."
(put theme 'theme-documentation nil))
(let ((fn (locate-file (concat (symbol-name theme) "-theme.el")
(custom-theme--load-path)
'("" "c")))
hash)
'("" "c"))))
(unless fn
(error "Unable to find theme file for `%s'" theme))
(with-temp-buffer
(insert-file-contents fn)
(setq hash (secure-hash 'sha256 (current-buffer)))
;; Check file safety with `custom-safe-themes', prompting the
;; user if necessary.
(when (or no-confirm
@ -1228,8 +1226,9 @@ Return t if THEME was successfully loaded, nil otherwise."
(and (memq 'default custom-safe-themes)
(equal (file-name-directory fn)
(expand-file-name "themes/" data-directory)))
(member hash custom-safe-themes)
(custom-theme-load-confirm hash))
(let ((hash (secure-hash 'sha256 (current-buffer))))
(or (member hash custom-safe-themes)
(custom-theme-load-confirm hash))))
(let ((custom--inhibit-theme-enable t)
(buffer-file-name fn)) ;For load-history.
(eval-buffer))