Function: package-menu--status-predicate
package-menu--status-predicate is a byte-compiled function defined in
package.el.gz.
Signature
(package-menu--status-predicate A B)
Documentation
Predicate to sort "*Packages*" buffer by the status column.
This is used for tabulated-list-format in package-menu-mode.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package-menu--status-predicate (A B)
"Predicate to sort \"*Packages*\" buffer by the status column.
This is used for `tabulated-list-format' in `package-menu-mode'."
(let ((sA (aref (cadr A) 2))
(sB (aref (cadr B) 2)))
(cond ((string= sA sB)
(package-menu--name-predicate A B))
((string= sA "new") t)
((string= sB "new") nil)
((string-prefix-p "avail" sA)
(if (string-prefix-p "avail" sB)
(package-menu--name-predicate A B)
t))
((string-prefix-p "avail" sB) nil)
((string= sA "installed") t)
((string= sB "installed") nil)
((string= sA "dependency") t)
((string= sB "dependency") nil)
((string= sA "unsigned") t)
((string= sB "unsigned") nil)
((string= sA "held") t)
((string= sB "held") nil)
((string= sA "external") t)
((string= sB "external") nil)
((string= sA "built-in") t)
((string= sB "built-in") nil)
((string= sA "obsolete") t)
((string= sB "obsolete") nil)
((string= sA "incompat") t)
((string= sB "incompat") nil)
(t (string< sA sB)))))