Summarize changes when upgrading packages

* lisp/emacs-lisp/package.el (package-upgrade-all): Print a
final message listing the completed and rejected package
upgrades, as the messages printed by 'package-install' get lost
in the Messages buffer.  (Bug#81112)
This commit is contained in:
Philip Kaludercic 2026-07-31 22:26:34 +02:00
parent ed4a3e251b
commit 26e1c1792e
No known key found for this signature in database

View file

@ -2202,7 +2202,8 @@ from ELPA by either using `\\[package-upgrade]' or
`\\<package-menu-mode-map>\\[package-menu-mark-install]' after `\\[list-packages]'."
(interactive (list (not noninteractive)))
(package-refresh-contents)
(let ((upgradeable (package--upgradeable-packages package-install-upgrade-built-in)))
(let ((upgradeable (package--upgradeable-packages package-install-upgrade-built-in))
(upgraded '()))
(if (not upgradeable)
(message "No packages to upgrade")
(when (and query
@ -2214,7 +2215,15 @@ from ELPA by either using `\\[package-upgrade]' or
(user-error "Upgrade aborted"))
(dolist (pkg upgradeable)
(with-demoted-errors "Error while upgrading: %S"
(package-upgrade pkg))))))
(package-upgrade pkg)
(push pkg upgraded)))
(let ((rejected (cl-set-difference upgradable upgraded)))
(message
"Upgraded: %s%s"
(mapconcat #'symbol-name upgraded ", ")
(if rejected
(concat "; Rejected: " (mapconcat #'symbol-name rejected ", "))
""))))))
(defun package--dependencies (pkg)
"Return a list of all transitive dependencies of PKG.