[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 3ba79b2 143/187: Use package--get-deps to get packages dep
From: |
Michael Albinus |
Subject: |
[elpa] master 3ba79b2 143/187: Use package--get-deps to get packages dependencies. |
Date: |
Wed, 30 Dec 2015 11:50:15 +0000 |
branch: master
commit 3ba79b2f8f27bd281bef5a334b611143807aca65
Author: Thierry Volpiatto <address@hidden>
Commit: Thierry Volpiatto <address@hidden>
Use package--get-deps to get packages dependencies.
* async-bytecomp.el (async-bytecomp-get-allowed-pkgs): Use
package--get-deps.
Inline it if not available.
---
async-bytecomp.el | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/async-bytecomp.el b/async-bytecomp.el
index 5cf3f33..2105fee 100644
--- a/async-bytecomp.el
+++ b/async-bytecomp.el
@@ -102,16 +102,34 @@ 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-allowed-pkgs ()
(when async-bytecomp-allowed-packages
(cl-loop for p in async-bytecomp-allowed-packages
- for pkg-desc = (car (assoc-default p package-archive-contents))
- append (mapcar 'car (package-desc-reqs pkg-desc)) into reqs
- finally return
- (cl-remove-duplicates
- (append async-bytecomp-allowed-packages reqs)))))
+ append (package--get-deps p) into reqs
+ finally return
+ (delete-dups
+ (append async-bytecomp-allowed-packages reqs)))))
(defadvice package--compile (around byte-compile-async activate)
(let ((cur-package (package-desc-name pkg-desc)))
- [elpa] master 914a284 124/187: * async-bytecomp.el: Fix callback., (continued)
- [elpa] master 914a284 124/187: * async-bytecomp.el: Fix callback., Michael Albinus, 2015/12/30
- [elpa] master 8bb0876 130/187: Marked up file and buffer names, Michael Albinus, 2015/12/30
- [elpa] master 8464261 128/187: Changed symbol markup from Lisp idiom to Markdown, Michael Albinus, 2015/12/30
- [elpa] master 64d862f 129/187: Marked up 'nil' throughout, Michael Albinus, 2015/12/30
- [elpa] master 0ddafcf 131/187: Merge pull request #41 from PhilHudson/master, Michael Albinus, 2015/12/30
- [elpa] master a96e6d4 141/187: Fix doctring (#46)., Michael Albinus, 2015/12/30
- [elpa] master dc63b59 132/187: Documentation tweaks; mention DEFAULT-DIRECTORY, Michael Albinus, 2015/12/30
- [elpa] master 005714e 142/187: Don't run the loop when async-bytecomp-allowed-packages is nil., Michael Albinus, 2015/12/30
- [elpa] master bafc3fa 145/187: Allow setting async-bytecomp-get-allowed-pkgs to compile async all packages., Michael Albinus, 2015/12/30
- [elpa] master a921e5f 136/187: Use always the args 0 and force for byte-recompile-directory., Michael Albinus, 2015/12/30
- [elpa] master 3ba79b2 143/187: Use package--get-deps to get packages dependencies.,
Michael Albinus <=
- [elpa] master 021be6f 153/187: * dired-async.el: Remove now unused dired-async-be-async., Michael Albinus, 2015/12/30
- [elpa] master f44f8be 150/187: * README.md: Update infos for dired-async., Michael Albinus, 2015/12/30
- [elpa] master 1da6e8f 144/187: Don't use package--get-deps that doesn't handle non installed packages., Michael Albinus, 2015/12/30
- [elpa] master 40d4f78 154/187: New mode async-bytecomp-package-mode., Michael Albinus, 2015/12/30
- [elpa] master 348600d 138/187: Unbound async-byte-recompile-directory when reinstalling async., Michael Albinus, 2015/12/30
- [elpa] master 12235bd 156/187: * async-pkg.el: Update version number., Michael Albinus, 2015/12/30
- [elpa] master 2235bc9 135/187: Inject bytecomp variables (#44)., Michael Albinus, 2015/12/30
- [elpa] master c9fb3f5 147/187: async-bytecomp-allowed-packages should be a list of symbols., Michael Albinus, 2015/12/30
- [elpa] master 2b01ad8 137/187: Merge branch 'master' of github.com:jwiegley/emacs-async, Michael Albinus, 2015/12/30
- [elpa] master 98ef20d 162/187: Change mode-line face., Michael Albinus, 2015/12/30