Move compile-time fix for disabled packages

This fix prevented the byte-compiler from trying to load packages that
were disabled or failed their :when/:unless/:if predicates. This commit
moves it into doom-byte-compile, so the :no-require predicate doesn't
have to run on every package in an interactive session, eating MY
PRECIOUS cpu cycles.

I do love my cpu cycles, yessiree.
This commit is contained in:
Henrik Lissner 2018-06-18 14:52:24 +02:00
parent ab07e07352
commit 32954ecb69
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 22 additions and 22 deletions

View file

@ -733,8 +733,19 @@ If RECOMPILE-P is non-nil, only recompile out-of-date files."
(message "Couldn't find any valid targets")
(message "No targets to %scompile" (if recompile-p "re" "")))
(cl-return-from 'byte-compile))
(condition-case ex
(let ((use-package-expand-minimally t))
(condition-case e
(let ((use-package-defaults use-package-defaults)
(use-package-expand-minimally t))
;; Prevent packages from being loaded at compile time if they
;; don't meet their own predicates.
(push (list :no-require t
(lambda (_name args)
(or (when-let* ((pred (or (plist-get args :if)
(plist-get args :when))))
(not (eval pred t)))
(when-let* ((pred (plist-get args :unless)))
(eval pred t)))))
use-package-defaults)
;; Always compile private init file
(push (expand-file-name "init.el" doom-private-dir) target-files)
(push (expand-file-name "init.el" doom-emacs-dir) target-files)