aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Malabarba2015-02-03 13:56:13 +0000
committerArtur Malabarba2015-02-03 13:56:59 +0000
commit504fada7e7502b9052076c20f16f55d7e9bd3c58 (patch)
tree3adac2ac7320e4081af53a969c15291d2ec150de
parentc184e85ea2adfc5b63f1fe55a6fa2eaaacbda97b (diff)
downloademacs-504fada7e7502b9052076c20f16f55d7e9bd3c58.tar.gz
emacs-504fada7e7502b9052076c20f16f55d7e9bd3c58.zip
emacs-lisp/package.el (package-desc-status): Add "dependency" status to Package Menu.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/emacs-lisp/package.el22
2 files changed, 21 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d3850310dc5..c834d7cc168 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -15,6 +15,12 @@
15 Special handling for empty `package-selected-packages'. 15 Special handling for empty `package-selected-packages'.
16 (package-install): Fix when PKG is a package-desc. 16 (package-install): Fix when PKG is a package-desc.
17 17
18 (package-desc-status): Add "dependency" status to the Package
19 Menu.
20 (package-menu--status-predicate, package-menu--print-info)
21 (package-menu-mark-delete, package-menu--find-upgrades)
22 (package-menu--status-predicate, describe-package-1): Use it
23
182015-02-03 Thierry Volpiatto <thierry.volpiatto@gmail.com> 242015-02-03 Thierry Volpiatto <thierry.volpiatto@gmail.com>
19 25
20 * emacs-lisp/package.el (package-reinstall): Don't change package's selected status. 26 * emacs-lisp/package.el (package-reinstall): Don't change package's selected status.
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index bda88b659d1..298604e9892 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1759,7 +1759,7 @@ If optional arg NO-ACTIVATE is non-nil, don't activate packages."
1759 'font-lock-face 'font-lock-builtin-face) 1759 'font-lock-face 'font-lock-builtin-face)
1760 ".")) 1760 "."))
1761 (pkg-dir 1761 (pkg-dir
1762 (insert (propertize (if (equal status "unsigned") 1762 (insert (propertize (if (member status '("unsigned" "dependency"))
1763 "Installed" 1763 "Installed"
1764 (capitalize status)) ;FIXME: Why comment-face? 1764 (capitalize status)) ;FIXME: Why comment-face?
1765 'font-lock-face 'font-lock-comment-face)) 1765 'font-lock-face 'font-lock-comment-face))
@@ -2025,7 +2025,8 @@ package PKG-DESC, add one. The alist is keyed with PKG-DESC."
2025 (lle (assq name package-load-list)) 2025 (lle (assq name package-load-list))
2026 (held (cadr lle)) 2026 (held (cadr lle))
2027 (version (package-desc-version pkg-desc)) 2027 (version (package-desc-version pkg-desc))
2028 (signed (package-desc-signed pkg-desc))) 2028 (signed (or (not package-list-unsigned)
2029 (package-desc-signed pkg-desc))))
2029 (cond 2030 (cond
2030 ((eq dir 'builtin) "built-in") 2031 ((eq dir 'builtin) "built-in")
2031 ((and lle (null held)) "disabled") 2032 ((and lle (null held)) "disabled")
@@ -2040,7 +2041,9 @@ package PKG-DESC, add one. The alist is keyed with PKG-DESC."
2040 (cond 2041 (cond
2041 ((not (file-exists-p (package-desc-dir pkg-desc))) "deleted") 2042 ((not (file-exists-p (package-desc-dir pkg-desc))) "deleted")
2042 ((eq pkg-desc (cadr (assq name package-alist))) 2043 ((eq pkg-desc (cadr (assq name package-alist)))
2043 (if (or (not package-list-unsigned) signed) "installed" "unsigned")) 2044 (if (not signed) "unsigned"
2045 (if (package--user-selected-p name)
2046 "installed" "dependency")))
2044 (t "obsolete"))) 2047 (t "obsolete")))
2045 (t 2048 (t
2046 (let* ((ins (cadr (assq name package-alist))) 2049 (let* ((ins (cadr (assq name package-alist)))
@@ -2051,8 +2054,9 @@ package PKG-DESC, add one. The alist is keyed with PKG-DESC."
2051 "new" "available")) 2054 "new" "available"))
2052 ((version-list-< version ins-v) "obsolete") 2055 ((version-list-< version ins-v) "obsolete")
2053 ((version-list-= version ins-v) 2056 ((version-list-= version ins-v)
2054 (if (or (not package-list-unsigned) signed) 2057 (if (not signed) "unsigned"
2055 "installed" "unsigned")))))))) 2058 (if (package--user-selected-p name)
2059 "installed" "dependency")))))))))
2056 2060
2057(defun package-menu--refresh (&optional packages keywords) 2061(defun package-menu--refresh (&optional packages keywords)
2058 "Re-populate the `tabulated-list-entries'. 2062 "Re-populate the `tabulated-list-entries'.
@@ -2181,6 +2185,7 @@ Return (PKG-DESC [NAME VERSION STATUS DOC])."
2181 (`"held" 'font-lock-constant-face) 2185 (`"held" 'font-lock-constant-face)
2182 (`"disabled" 'font-lock-warning-face) 2186 (`"disabled" 'font-lock-warning-face)
2183 (`"installed" 'font-lock-comment-face) 2187 (`"installed" 'font-lock-comment-face)
2188 (`"dependency" 'font-lock-comment-face)
2184 (`"unsigned" 'font-lock-warning-face) 2189 (`"unsigned" 'font-lock-warning-face)
2185 (_ 'font-lock-warning-face)))) ; obsolete. 2190 (_ 'font-lock-warning-face)))) ; obsolete.
2186 (list pkg-desc 2191 (list pkg-desc
@@ -2223,7 +2228,8 @@ If optional arg BUTTON is non-nil, describe its associated package."
2223(defun package-menu-mark-delete (&optional _num) 2228(defun package-menu-mark-delete (&optional _num)
2224 "Mark a package for deletion and move to the next line." 2229 "Mark a package for deletion and move to the next line."
2225 (interactive "p") 2230 (interactive "p")
2226 (if (member (package-menu-get-status) '("installed" "obsolete" "unsigned")) 2231 (if (member (package-menu-get-status)
2232 '("installed" "dependency" "obsolete" "unsigned"))
2227 (tabulated-list-put-tag "D" t) 2233 (tabulated-list-put-tag "D" t)
2228 (forward-line))) 2234 (forward-line)))
2229 2235
@@ -2277,7 +2283,7 @@ If optional arg BUTTON is non-nil, describe its associated package."
2277 ;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC]) 2283 ;; ENTRY is (PKG-DESC [NAME VERSION STATUS DOC])
2278 (let ((pkg-desc (car entry)) 2284 (let ((pkg-desc (car entry))
2279 (status (aref (cadr entry) 2))) 2285 (status (aref (cadr entry) 2)))
2280 (cond ((member status '("installed" "unsigned")) 2286 (cond ((member status '("installed" "dependency" "unsigned"))
2281 (push pkg-desc installed)) 2287 (push pkg-desc installed))
2282 ((member status '("available" "new")) 2288 ((member status '("available" "new"))
2283 (setq available (package--append-to-alist pkg-desc available)))))) 2289 (setq available (package--append-to-alist pkg-desc available))))))
@@ -2393,6 +2399,8 @@ Optional argument NOQUERY non-nil means do not ask the user to confirm."
2393 ((string= sB "available") nil) 2399 ((string= sB "available") nil)
2394 ((string= sA "installed") t) 2400 ((string= sA "installed") t)
2395 ((string= sB "installed") nil) 2401 ((string= sB "installed") nil)
2402 ((string= sA "dependency") t)
2403 ((string= sB "dependency") nil)
2396 ((string= sA "unsigned") t) 2404 ((string= sA "unsigned") t)
2397 ((string= sB "unsigned") nil) 2405 ((string= sB "unsigned") nil)
2398 ((string= sA "held") t) 2406 ((string= sA "held") t)