diff --git a/core/core-lib.el b/core/core-lib.el index 527188cdf..67da60898 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -108,27 +108,29 @@ "A smart wrapper around `with-eval-after-load'. Supresses warnings during compilation." (declare (indent defun) (debug t)) - (list (if (or (not (bound-and-true-p byte-compile-current-file)) - (dolist (next (doom-enlist targets)) - (if (symbolp next) - (require next nil :no-error) - (load next :no-message :no-error)))) - #'progn - #'with-no-warnings) - (cond ((symbolp targets) - `(eval-after-load ',targets '(progn ,@body))) - ((and (consp targets) - (memq (car targets) '(:or :any))) - `(progn - ,@(cl-loop for next in (cdr targets) - collect `(after! ,next ,@body)))) - ((and (consp targets) - (memq (car targets) '(:and :all))) - (dolist (next (cdr targets)) - (setq body `(after! ,next ,@body))) - body) - ((listp targets) - `(after! (:all ,@targets) ,@body))))) + (unless (and (symbolp targets) + (memq targets doom-disabled-packages)) + (list (if (or (not (bound-and-true-p byte-compile-current-file)) + (dolist (next (doom-enlist targets)) + (if (symbolp next) + (require next nil :no-error) + (load next :no-message :no-error)))) + #'progn + #'with-no-warnings) + (cond ((symbolp targets) + `(eval-after-load ',targets '(progn ,@body))) + ((and (consp targets) + (memq (car targets) '(:or :any))) + `(progn + ,@(cl-loop for next in (cdr targets) + collect `(after! ,next ,@body)))) + ((and (consp targets) + (memq (car targets) '(:and :all))) + (dolist (next (cdr targets)) + (setq body `(after! ,next ,@body))) + body) + ((listp targets) + `(after! (:all ,@targets) ,@body)))))) (defmacro quiet! (&rest forms) "Run FORMS without making any output."