Refactor package management API
Sets out to solve a number of issues with the package management process. Namely: - To-be-removed packages that are simply being removed are no longer incorrectly labeled "quelpa->elpa", but "removed" instead. - A backend (elpa vs quelpa) column was added to the package listing confirmation when running `doom update`. - Doom now correctly recognizes that packages installed with a psuedonym are installed, and will not endlessly attempt to uninstall and reinstall them on every `doom refresh`. - Packages declared with :built-in will no longer lose their built-in marking if said package is not actually present in Emacs' site load paths. i.e. if you say it's built in, Doom won't question it. - package!'s :ignore property is now treated as a form whose evaluated result will be used as its value.
This commit is contained in:
parent
b3c27ebe60
commit
6641e26283
4 changed files with 272 additions and 162 deletions
|
@ -197,9 +197,9 @@ elsewhere."
|
|||
(unless (member module module-list)
|
||||
(setq module-list (append module-list (list module) nil)
|
||||
plist (plist-put plist :modules module-list))))
|
||||
(when (and built-in (locate-library (symbol-name name) nil doom-site-load-path))
|
||||
(when built-in
|
||||
(doom-log "Ignoring built-in package '%s'" name)
|
||||
(setq plist (plist-put plist :ignore t)))
|
||||
(setq plist (plist-put plist :ignore built-in)))
|
||||
(while plist
|
||||
(unless (null (cadr plist))
|
||||
(setq old-plist (plist-put old-plist (car plist) (cadr plist))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue