branch: master
commit 0b60259ca8e7553c7029bb3471a1d29c3893200e
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Check if package-archive-contents is populated (#51).
* 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 | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/async-bytecomp.el b/async-bytecomp.el
index e680df0..0daa079 100644
--- a/async-bytecomp.el
+++ b/async-bytecomp.el
@@ -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)))