From 1da6e8f7dee539c5b77068fc4a51dba7f19b132b Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Sun, 12 Apr 2015 15:39:26 +0200 Subject: [PATCH] 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 file changed, 17 insertions(+), 20 deletions(-) diff --git a/async-bytecomp.el b/async-bytecomp.el index 2105fee85..0a7dd87a7 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))))) -- 2.39.2