Function: package-menu--filter-by

package-menu--filter-by is a byte-compiled function defined in package.el.gz.

Signature

(package-menu--filter-by PREDICATE SUFFIX)

Documentation

Filter "*Packages*" buffer by PREDICATE and add SUFFIX to header.

PREDICATE is a function which will be called with one argument, a package-desc object, and returns t if that object should be listed in the Package Menu.

SUFFIX is passed on to package-menu--display and is added to the header line of the first column.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package-menu--filter-by (predicate suffix)
  "Filter \"*Packages*\" buffer by PREDICATE and add SUFFIX to header.
PREDICATE is a function which will be called with one argument, a
`package-desc' object, and returns t if that object should be
listed in the Package Menu.

SUFFIX is passed on to `package-menu--display' and is added to
the header line of the first column."
  ;; Update `tabulated-list-entries' so that it contains all
  ;; packages before searching.
  (package-menu--refresh t nil)
  (let (found-entries)
    (dolist (entry tabulated-list-entries)
      (when (funcall predicate (car entry))
        (push entry found-entries)))
    (if found-entries
        (progn
          (setq tabulated-list-entries found-entries)
          (package-menu--display t suffix))
      (user-error "No packages found"))))