Function: package--update-selected-packages

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

Signature

(package--update-selected-packages ADD REMOVE)

Documentation

Update the package-selected-packages list according to ADD and REMOVE.

ADD and REMOVE must be disjoint lists of package names (or package-desc objects) to be added and removed to the selected packages list, respectively.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package--update-selected-packages (add remove)
  "Update the `package-selected-packages' list according to ADD and REMOVE.
ADD and REMOVE must be disjoint lists of package names (or
`package-desc' objects) to be added and removed to the selected
packages list, respectively."
  (dolist (p add)
    (cl-pushnew (if (package-desc-p p) (package-desc-name p) p)
                package-selected-packages))
  (dolist (p remove)
    (setq package-selected-packages
          (remove (if (package-desc-p p) (package-desc-name p) p)
                  package-selected-packages)))
  (when (or add remove)
    (package--save-selected-packages package-selected-packages)))