emacs-31 26e1c1792ec: Summarize changes when upgrading packages

Philip Kaludercic <[email protected]> Fri, 31 Jul 2026 16:26:48 -0400 (EDT)
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: emacs-31
commit 26e1c1792ecde7b42747d56f45b32a562b5aefd6
Author: Philip Kaludercic <[email protected]>
Commit: Philip Kaludercic <[email protected]>

    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)
---
 lisp/emacs-lisp/package.el | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index ad3f602d621..cbd4c2a550f 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -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.