diff options
author | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-02-14 15:06:27 -0200 |
---|---|---|
committer | Artur Malabarba <bruce.connor.am@gmail.com> | 2015-02-14 15:09:50 -0200 |
commit | f4f4f93e42a0ae572a62c9f64b90e4401232d9f4 (patch) | |
tree | 5d4615babcfb396f06e6621c99b1704f7efebc3f /lisp/emacs-lisp | |
parent | 93888585deba41f7f67a83cda2c69927ffb130c8 (diff) | |
download | emacs-f4f4f93e42a0ae572a62c9f64b90e4401232d9f4.tar.gz emacs-f4f4f93e42a0ae572a62c9f64b90e4401232d9f4.tar.bz2 emacs-f4f4f93e42a0ae572a62c9f64b90e4401232d9f4.zip |
emacs-lisp/package.el (describe-package-1): Describe incompatibility.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/package.el | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 64a646a9896..d8a4fc9c846 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -1817,8 +1817,9 @@ the table." (built-in (eq pkg-dir 'builtin)) (installable (and archive (not built-in))) (status (if desc (package-desc-status desc) "orphan")) + (incompatible-reason (package--incompatible-p desc)) (signed (if desc (package-desc-signed desc)))) - (when (string= status "incompat") + (when incompatible-reason (setq status "incompatible")) (prin1 name) (princ " is ") @@ -1850,6 +1851,12 @@ the table." (if signed (insert ".") (insert " (unsigned)."))) + (incompatible-reason + (insert (propertize "Incompatible" 'face font-lock-warning-face) + " because it depends on ") + (if (stringp incompatible-reason) + (insert "Emacs " incompatible-reason ".") + (insert "uninstallable packages."))) (installable (insert (capitalize status)) (insert " from " (format "%s" archive)) @@ -1870,19 +1877,22 @@ the table." (setq reqs (if desc (package-desc-reqs desc))) (when reqs (insert " " (propertize "Requires" 'font-lock-face 'bold) ": ") - (let ((first t) - name vers text) + (let ((first t)) (dolist (req reqs) - (setq name (car req) - vers (cadr req) - text (format "%s-%s" (symbol-name name) - (package-version-join vers))) - (cond (first (setq first nil)) - ((>= (+ 2 (current-column) (length text)) - (window-width)) - (insert ",\n ")) - (t (insert ", "))) - (help-insert-xref-button text 'help-package name)) + (let* ((name (car req)) + (vers (cadr req)) + (text (format "%s-%s" (symbol-name name) + (package-version-join vers))) + (reason (if (and (listp incompatible-reason) + (assq name incompatible-reason)) + " (not available)" ""))) + (cond (first (setq first nil)) + ((>= (+ 2 (current-column) (length text) (length reason)) + (window-width)) + (insert ",\n ")) + (t (insert ", "))) + (help-insert-xref-button text 'help-package name) + (insert reason))) (insert "\n"))) (insert " " (propertize "Summary" 'font-lock-face 'bold) ": " (if desc (package-desc-summary desc)) "\n") |