refactor(profiles): simplify profile init file
So that the resulting file expands to less code and doesn't apply too magic to file paths (it may be unwanted). And don't try to unintern a lexical binding.
This commit is contained in:
parent
329d65d0d4
commit
750d75a45b
1 changed files with 6 additions and 15 deletions
|
@ -168,13 +168,10 @@ is non-nil, refresh the cache."
|
||||||
(pcase (car-safe val)
|
(pcase (car-safe val)
|
||||||
(:path
|
(:path
|
||||||
`(,(if (stringp var) 'setenv 'set)
|
`(,(if (stringp var) 'setenv 'set)
|
||||||
',var ,(if (cddr val)
|
',var ,(cl-loop with form = `(expand-file-name ,(cadr val) user-emacs-directory)
|
||||||
(macroexpand-all
|
for dir in (cddr val)
|
||||||
`(cl-loop with path = ',(cadr val)
|
do (setq form `(expand-file-name ,dir ,form))
|
||||||
for dir in ',(cddr val)
|
finally return form)))
|
||||||
do (setq path (expand-file-name dir path))
|
|
||||||
finally return path))
|
|
||||||
`(file-truename ,(cadr val)))))
|
|
||||||
(:eval
|
(:eval
|
||||||
(if (eq var '_)
|
(if (eq var '_)
|
||||||
(macroexp-progn (cdr val))
|
(macroexp-progn (cdr val))
|
||||||
|
@ -207,12 +204,7 @@ is non-nil, refresh the cache."
|
||||||
`(add-to-list ',var item 'append)
|
`(add-to-list ',var item 'append)
|
||||||
`(setq ',var (append ',var (list item)))))))
|
`(setq ',var (append ',var (list item)))))))
|
||||||
--deferred-vars--)))
|
--deferred-vars--)))
|
||||||
(_ `(,(if (stringp var) 'setenv 'set)
|
(_ `(,(if (stringp var) 'setenv 'set) ',var ',val))))
|
||||||
',var ,(if (and (symbolp var)
|
|
||||||
(or (eq var 'user-emacs-directory)
|
|
||||||
(string-match-p "^doom-.+-dir$" (symbol-name var))))
|
|
||||||
`(file-truename ,var)
|
|
||||||
''var)))))
|
|
||||||
,@(when deferred?
|
,@(when deferred?
|
||||||
`((defun --defer-vars-- (_)
|
`((defun --defer-vars-- (_)
|
||||||
(dolist (var --deferred-vars--)
|
(dolist (var --deferred-vars--)
|
||||||
|
@ -221,8 +213,7 @@ is non-nil, refresh the cache."
|
||||||
(setq --deferred-vars-- (delete var --deferred-vars--))))
|
(setq --deferred-vars-- (delete var --deferred-vars--))))
|
||||||
(unless --deferred-vars--
|
(unless --deferred-vars--
|
||||||
(remove-hook 'after-load-functions #'--defer-vars--)
|
(remove-hook 'after-load-functions #'--defer-vars--)
|
||||||
(unintern '--defer-vars-- obarray)
|
(unintern '--defer-vars-- obarray)))
|
||||||
(unintern '--deferred-vars-- obarray)))
|
|
||||||
(add-hook 'after-load-functions #'--defer-vars--)
|
(add-hook 'after-load-functions #'--defer-vars--)
|
||||||
(--defer-vars--))))))))
|
(--defer-vars--))))))))
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue