branch: master
commit 1da6e8f7dee539c5b77068fc4a51dba7f19b132b
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Don't use package--get-deps that doesn't handle non installed packages.
* async-bytecomp.el (async-bytecomp--get-package-deps): Same as
package--get-deps
but handle non installed packages.
---
async-bytecomp.el | 37 +++++++++++++++++--------------------
1 files changed, 17 insertions(+), 20 deletions(-)
diff --git a/async-bytecomp.el b/async-bytecomp.el
index 2105fee..0a7dd87 100644
--- a/async-bytecomp.el
+++ b/async-bytecomp.el
@@ -102,31 +102,28 @@ All *.elc files are systematically deleted before
proceeding."
(message "Started compiling asynchronously directory %s" directory)))
(defvar package-archive-contents)
-(defvar package-alist)
(declare-function package-desc-reqs "package.el" (cl-x))
-(declare-function package--get-deps "package.el" (pkg &optional only))
-
-(unless (fboundp 'package--get-deps)
- (defun package--get-deps (pkg &optional only)
- (let* ((pkg-desc (cadr (assq pkg package-alist)))
- (direct-deps (cl-loop for p in (package-desc-reqs pkg-desc)
- for name = (car p)
- when (assq name package-alist)
- collect name))
- (indirect-deps (unless (eq only 'direct)
- (delete-dups
- (cl-loop for p in direct-deps
- append (package--get-deps p))))))
- (cl-case only
- (direct direct-deps)
- (separate (list direct-deps indirect-deps))
- (indirect indirect-deps)
- (t (delete-dups (append direct-deps indirect-deps)))))))
+
+(defun async-bytecomp--get-package-deps (pkg &optional only)
+ (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)
+ when (assq name package-archive-contents)
+ collect name))
+ (indirect-deps (unless (eq only 'direct)
+ (delete-dups
+ (cl-loop for p in direct-deps append
+ (async-bytecomp--get-package-deps p))))))
+ (cl-case only
+ (direct direct-deps)
+ (separate (list direct-deps indirect-deps))
+ (indirect indirect-deps)
+ (t (delete-dups (append direct-deps indirect-deps))))))
(defun async-bytecomp-get-allowed-pkgs ()
(when async-bytecomp-allowed-packages
(cl-loop for p in async-bytecomp-allowed-packages
- append (package--get-deps p) into reqs
+ append (async-bytecomp--get-package-deps p) into reqs
finally return
(delete-dups
(append async-bytecomp-allowed-packages reqs)))))