Commit f4f4f93e authored by Artur Malabarba's avatar Artur Malabarba
Browse files

emacs-lisp/package.el (describe-package-1): Describe incompatibility.

parent 93888585
......@@ -5,6 +5,7 @@
(package-refresh-contents, package-initialize): Do build the
compatibility table.
(package--build-compatibility-table): New function.
(describe-package-1): Describe why a package is incompatible.
2015-02-14 Stefan Monnier <>
......@@ -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).")))
(insert (propertize "Incompatible" 'face font-lock-warning-face)
" because it depends on ")
(if (stringp incompatible-reason)
(insert "Emacs " incompatible-reason ".")
(insert "uninstallable packages.")))
(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))
(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))
(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")
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment