diff options
| author | Artur Malabarba | 2015-02-03 13:56:13 +0000 |
|---|---|---|
| committer | Artur Malabarba | 2015-02-03 13:56:59 +0000 |
| commit | 504fada7e7502b9052076c20f16f55d7e9bd3c58 (patch) | |
| tree | 3adac2ac7320e4081af53a969c15291d2ec150de | |
| parent | c184e85ea2adfc5b63f1fe55a6fa2eaaacbda97b (diff) | |
| download | emacs-504fada7e7502b9052076c20f16f55d7e9bd3c58.tar.gz emacs-504fada7e7502b9052076c20f16f55d7e9bd3c58.zip | |
emacs-lisp/package.el (package-desc-status): Add "dependency" status to Package Menu.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 22 |
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 | |||
| 18 | 2015-02-03 Thierry Volpiatto <thierry.volpiatto@gmail.com> | 24 | 2015-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) |