]> code.delx.au - gnu-emacs-elpa/commitdiff
Check if package-archive-contents is populated (#51).
authorThierry Volpiatto <thierry.volpiatto@gmail.com>
Tue, 18 Aug 2015 05:34:18 +0000 (07:34 +0200)
committerThierry Volpiatto <thierry.volpiatto@gmail.com>
Tue, 18 Aug 2015 05:34:18 +0000 (07:34 +0200)
* async-bytecomp.el (async-bytecomp--get-package-deps): Add comment.
(async-bytecomp-get-allowed-pkgs): Don't enter loop when
package-archive-contents is nil.

async-bytecomp.el

index e680df012a1e2b5fa37b0e8d08962a32c248f735..0daa0794270710892a2d49e6f0f0dad780b491f0 100644 (file)
@@ -109,6 +109,8 @@ All *.elc files are systematically deleted before proceeding."
 (declare-function package-desc-reqs "package.el" (cl-x))
 
 (defun async-bytecomp--get-package-deps (pkg &optional only)
+  ;; Same as `package--get-deps' but parse instead `package-archive-contents'
+  ;; because PKG is not already installed and not present in `package-alist'.
   (let* ((pkg-desc (cadr (assq pkg package-archive-contents)))
          (direct-deps (cl-loop for p in (package-desc-reqs pkg-desc)
                                for name = (car p)
@@ -127,11 +129,13 @@ All *.elc files are systematically deleted before proceeding."
 (defun async-bytecomp-get-allowed-pkgs ()
   (when (and async-bytecomp-allowed-packages
              (listp async-bytecomp-allowed-packages))
-    (cl-loop for p in async-bytecomp-allowed-packages
-             append (async-bytecomp--get-package-deps p) into reqs
-             finally return
-             (delete-dups
-              (append async-bytecomp-allowed-packages reqs)))))
+    (if package-archive-contents
+        (cl-loop for p in async-bytecomp-allowed-packages
+                 append (async-bytecomp--get-package-deps p) into reqs
+                 finally return
+                 (delete-dups
+                  (append async-bytecomp-allowed-packages reqs)))
+        async-bytecomp-allowed-packages)))
 
 (defadvice package--compile (around byte-compile-async)
   (let ((cur-package (package-desc-name pkg-desc)))