From 855c52259080d8d7de92753a485e3d4fb2e85916 Mon Sep 17 00:00:00 2001 From: syl20bnr Date: Fri, 14 Nov 2014 23:54:08 -0500 Subject: [PATCH] Fix a bug in automatic orphans deletion algorithm --- core/contribsys.el | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/core/contribsys.el b/core/contribsys.el index b7a24eb95..dd7858251 100644 --- a/core/contribsys.el +++ b/core/contribsys.el @@ -334,14 +334,16 @@ deleted safely." (defun contribsys//is-package-orphan (pkg dependencies) "Returns not nil if PKG is an orphan package." - (if (ht-contains? dependencies pkg) - (let ((parents (ht-get dependencies pkg))) - (reduce (lambda (x y) (and x y)) - (mapcar (lambda (p) (contribsys//is-package-orphan - p dependencies)) - parents) - :initial-value t)) - (not (ht-contains? spacemacs-all-packages pkg)))) + (if (ht-contains? spacemacs-all-packages pkg) + nil + (if (ht-contains? dependencies pkg) + (let ((parents (ht-get dependencies pkg))) + (reduce (lambda (x y) (and x y)) + (mapcar (lambda (p) (contribsys//is-package-orphan + p dependencies)) + parents) + :initial-value t)) + (not (ht-contains? spacemacs-all-packages pkg))))) (defun contribsys/get-package-dependencies (package) "Return the dependencies alist for PACKAGE." @@ -376,6 +378,9 @@ deleted safely." (orphans (contribsys/get-orphan-packages implicit-packages dependencies)) (orphans-count (length orphans))) + ;; (message "dependencies: %s" dependencies) + ;; (message "implicit: %s" implicit-packages) + ;; (message "orphans: %s" orphans) (if orphans (progn ;; for the loading dot bar