Add "unpin" section to doom/info

Important when debugging potential upstream issues.
This commit is contained in:
Henrik Lissner 2020-01-25 03:50:49 -05:00
parent a9402cfb55
commit f600605de3
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 22 additions and 18 deletions

View file

@ -97,7 +97,8 @@ ready to be pasted in a bug report on github."
(cl-loop for (name . _) in package-alist (cl-loop for (name . _) in package-alist
collect (format "%s" name))) collect (format "%s" name)))
(error (format "<%S>" e))) (error (format "<%S>" e)))
'("n/a")))))))) '("n/a")))
(unpin ,@(or (get 'doom-pinned-packages 'modified) '("n/a"))))))))
;; ;;

View file

@ -322,23 +322,26 @@ can be used one of five ways:
(unpin! (:lang python javascript) (:tools docker)) (unpin! (:lang python javascript) (:tools docker))
Or any combination of the above." Or any combination of the above."
`(dolist (target ',targets) `(progn
(cond (put 'doom-pinned-packages 'modified
((eq target t) (delete-dups (append targets (get 'doom-pinned-packages 'modified))))
(setq doom-pinned-packages nil)) (dolist (target ',targets)
((or (keywordp target) (cond
(listp target)) ((eq target t)
(cl-destructuring-bind (category . modules) (doom-enlist target) (setq doom-pinned-packages nil))
(dolist (pkg doom-packages) ((or (keywordp target)
(let ((pkg-modules (plist-get (cdr pkg) :modules))) (listp target))
(and (assq category pkg-modules) (cl-destructuring-bind (category . modules) (doom-enlist target)
(or (null modules) (dolist (pkg doom-packages)
(cl-loop for module in modules (let ((pkg-modules (plist-get (cdr pkg) :modules)))
if (member (cons category module) pkg-modules) (and (assq category pkg-modules)
return t)) (or (null modules)
(assq-delete-all (car pkg) doom-pinned-packages)))))) (cl-loop for module in modules
((symbolp target) if (member (cons category module) pkg-modules)
(assq-delete-all target doom-pinned-packages))))) return t))
(assq-delete-all (car pkg) doom-pinned-packages))))))
((symbolp target)
(assq-delete-all target doom-pinned-packages))))))
(provide 'core-packages) (provide 'core-packages)
;;; core-packages.el ends here ;;; core-packages.el ends here