Function: package--removable-packages

package--removable-packages is a byte-compiled function defined in package.el.gz.

Signature

(package--removable-packages)

Documentation

Return a list of package-desc objects that are longer needed.

These are packages which are neither contained in package-selected-packages nor a dependency of one that is.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package--removable-packages ()
  "Return a list of `package-desc' objects that are longer needed.
These are packages which are neither contained in
`package-selected-packages' nor a dependency of one that is."
  (let ((needed (package--dependencies package-selected-packages)))
    (cl-loop for (name . descs) in (package--alist)
             unless (or (assq name needed)
                        (memq name package-selected-packages)
                        ;; Do not auto-remove external packages.
                        (not (package--user-installed-p name)))
             append descs)))