Function: package-menu--perform-transaction
package-menu--perform-transaction is a byte-compiled function defined
in package.el.gz.
Signature
(package-menu--perform-transaction INSTALL-LIST DELETE-LIST)
Documentation
Install packages in INSTALL-LIST and delete DELETE-LIST.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
(defun package-menu--perform-transaction (install-list delete-list)
"Install packages in INSTALL-LIST and delete DELETE-LIST."
(if install-list
(let ((status-format (format ":Installing %%d/%d"
(length install-list)))
(i 0)
(package-menu--transaction-status))
(dolist (pkg install-list)
(setq package-menu--transaction-status
(format status-format (cl-incf i)))
(force-mode-line-update)
(redisplay 'force)
;; Don't mark as selected, `package-menu-execute' already
;; does that.
(package-install pkg 'dont-select))))
(let ((package-menu--transaction-status ":Deleting"))
(force-mode-line-update)
(redisplay 'force)
(dolist (elt (package--sort-by-dependence delete-list))
(condition-case-unless-debug err
(let ((inhibit-message (or inhibit-message package-menu-async)))
(package-delete elt nil 'nosave))
(error (message "Error trying to delete `%s': %S"
(package-desc-full-name elt)
err))))))