Fix a bug in automatic orphans deletion algorithm

This commit is contained in:
syl20bnr 2014-11-14 23:54:08 -05:00
parent 3c8abbe830
commit 855c522590

View file

@ -334,14 +334,16 @@ deleted safely."
(defun contribsys//is-package-orphan (pkg dependencies) (defun contribsys//is-package-orphan (pkg dependencies)
"Returns not nil if PKG is an orphan package." "Returns not nil if PKG is an orphan package."
(if (ht-contains? dependencies pkg) (if (ht-contains? spacemacs-all-packages pkg)
(let ((parents (ht-get dependencies pkg))) nil
(reduce (lambda (x y) (and x y)) (if (ht-contains? dependencies pkg)
(mapcar (lambda (p) (contribsys//is-package-orphan (let ((parents (ht-get dependencies pkg)))
p dependencies)) (reduce (lambda (x y) (and x y))
parents) (mapcar (lambda (p) (contribsys//is-package-orphan
:initial-value t)) p dependencies))
(not (ht-contains? spacemacs-all-packages pkg)))) parents)
:initial-value t))
(not (ht-contains? spacemacs-all-packages pkg)))))
(defun contribsys/get-package-dependencies (package) (defun contribsys/get-package-dependencies (package)
"Return the dependencies alist for PACKAGE." "Return the dependencies alist for PACKAGE."
@ -376,6 +378,9 @@ deleted safely."
(orphans (contribsys/get-orphan-packages implicit-packages (orphans (contribsys/get-orphan-packages implicit-packages
dependencies)) dependencies))
(orphans-count (length orphans))) (orphans-count (length orphans)))
;; (message "dependencies: %s" dependencies)
;; (message "implicit: %s" implicit-packages)
;; (message "orphans: %s" orphans)
(if orphans (if orphans
(progn (progn
;; for the loading dot bar ;; for the loading dot bar