From: Thierry Volpiatto Date: Fri, 8 Jan 2016 06:16:52 +0000 (+0100) Subject: Parse also `package-alist` when getting dependencies (#58). X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/b901d20a66f6c7b9c6b3d9db0f0dbdb01faf9aea Parse also `package-alist` when getting dependencies (#58). * async-bytecomp.el (async-bytecomp--get-package-deps): Try `package-archive-contents` and also `package-alist` in case pkg no more present in `package-archive-contents`. --- diff --git a/packages/async/async-bytecomp.el b/packages/async/async-bytecomp.el index a2885afcb..81e526b5d 100644 --- a/packages/async/async-bytecomp.el +++ b/packages/async/async-bytecomp.el @@ -110,10 +110,15 @@ All *.elc files are systematically deleted before proceeding." (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))) + ;; However fallback to `package-alist' in case PKG no more present + ;; in `package-archive-contents' due to modification to `package-archives'. + ;; See issue #58. + (let* ((pkg-desc (cadr (or (assq pkg package-archive-contents) + (assq pkg package-alist)))) (direct-deps (cl-loop for p in (package-desc-reqs pkg-desc) for name = (car p) - when (assq name package-archive-contents) + when (or (assq name package-archive-contents) + (assq name package-alist)) collect name)) (indirect-deps (unless (eq only 'direct) (delete-dups