Set doom-modules sooner

Fixes module lookups within modules (like featurep!).
This commit is contained in:
Henrik Lissner 2018-01-29 18:06:55 -05:00
parent 4e908bd525
commit a3e3909368
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -292,29 +292,28 @@ include all modules, enabled or otherwise."
"Bootstrap DOOM Emacs. "Bootstrap DOOM Emacs.
MODULES is an malformed plist of modules to load." MODULES is an malformed plist of modules to load."
`(let (file-name-handler-alist) (let (init-forms config-forms mode)
,@(let (init-forms config-forms mode) (dolist (m modules)
(dolist (m modules) (cond ((keywordp m) (setq mode m))
(cond ((keywordp m) (setq mode m)) ((not mode) (error "No namespace specified in `doom!' for %s" m))
((not mode) (error "No namespace specified in `doom!' for %s" m)) (t
(t (let* ((module mode)
(let* ((module mode) (submodule (if (listp m) (car m) m))
(submodule (if (listp m) (car m) m)) (flags (if (listp m) (cdr m)))
(flags (if (listp m) (cdr m))) (path (doom-module-path module submodule)))
(path (doom-module-path module submodule))) (doom-module-enable module submodule flags)
(doom-module-enable module submodule flags) (push `(load! init ,path t) init-forms)
(push `(load! init ,path t) init-forms) (unless noninteractive
(unless noninteractive (push `(load! config ,path t) config-forms))))))
(push `(load! config ,path t) config-forms)))))) `(let (file-name-handler-alist)
(nconc (nreverse init-forms) (setq doom-modules ',doom-modules)
(nreverse config-forms))) ,@(nconc (nreverse init-forms) (nreverse config-forms))
(setq doom-modules ',doom-modules) (unless noninteractive
(unless noninteractive (when (display-graphic-p)
(when (display-graphic-p) (require 'server)
(require 'server) (unless (server-running-p)
(unless (server-running-p) (server-start)))
(server-start))) (add-hook 'doom-post-init-hook #'doom-packages--display-benchmark)))))
(add-hook 'doom-post-init-hook #'doom-packages--display-benchmark))))
(defmacro def-package! (name &rest plist) (defmacro def-package! (name &rest plist)
"A thin wrapper around `use-package'." "A thin wrapper around `use-package'."