Fix over-zealous path resolution

This issue made it impossible enable default modules from private doom!
blocks.
This commit is contained in:
Henrik Lissner 2018-02-16 05:20:47 -05:00
parent bae226b94f
commit e7c9f5c08f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -305,24 +305,26 @@ Used by `require!' and `depends-on!'."
MODULES is an malformed plist of modules to load." MODULES is an malformed plist of modules to load."
(let (init-forms config-forms module file-name-handler-alist) (let (init-forms config-forms module file-name-handler-alist)
(let ((modules-dir (file-name-directory (or load-file-name byte-compile-current-file)))) (let ((modules-dir
(add-to-list 'doom-modules-dirs (expand-file-name "modules/" modules-dir)) (expand-file-name "modules/" (file-name-directory (or load-file-name byte-compile-current-file)))))
(add-to-list 'doom-modules-dirs modules-dir)
(dolist (m modules) (dolist (m modules)
(cond ((keywordp m) (setq module m)) (cond ((keywordp m) (setq module m))
((not module) (error "No namespace specified in `doom!' for %s" m)) ((not module) (error "No namespace specified in `doom!' for %s" m))
((let ((submodule (if (listp m) (car m) m)) ((let ((submodule (if (listp m) (car m) m))
(flags (if (listp m) (cdr m)))) (flags (if (listp m) (cdr m))))
(doom-module-enable module submodule flags) (doom-module-enable module submodule flags)
(let ((path (doom-module-path module submodule nil modules-dir)) (let ((path (doom-module-path module submodule))
(mod `(doom--current-module ',(cons module submodule)))) (mod `(doom--current-module ',(cons module submodule))))
(push `(let (,mod) (load! init ,path t)) init-forms) (push `(let (,mod) (load! init ,path t)) init-forms)
(push `(let (,mod) (load! config ,path t)) config-forms))))))) (push `(let (,mod) (load! config ,path t)) config-forms))))))
`(let (file-name-handler-alist) `(let (file-name-handler-alist)
(setq doom-modules ',doom-modules (add-to-list 'load-path ,modules-dir)
doom-modules-dirs ',doom-modules-dirs) (setq doom-modules ',doom-modules
,@(nreverse init-forms) doom-modules-dirs ',doom-modules-dirs)
(unless noninteractive ,@(nreverse init-forms)
,@(nreverse config-forms))))) (unless noninteractive
,@(nreverse config-forms))))))
(defmacro def-package! (name &rest plist) (defmacro def-package! (name &rest plist)
"A thin wrapper around `use-package'." "A thin wrapper around `use-package'."