Function: package-upgrade
package-upgrade is an autoloaded, interactive and byte-compiled
function defined in package.el.gz.
Signature
(package-upgrade NAME)
Documentation
Upgrade package NAME if a newer version exists.
Currently, packages which are part of the Emacs distribution
cannot be upgraded that way. To enable upgrades of such a
package using this command, first upgrade the package to a
newer version from ELPA by using \<package-menu-mode-map>M-x package-menu-mark-install (package-menu-mark-install) after M-x list-packages (list-packages).
Probably introduced at or before Emacs version 29.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
;;;###autoload
(defun package-upgrade (name)
"Upgrade package NAME if a newer version exists.
Currently, packages which are part of the Emacs distribution
cannot be upgraded that way. To enable upgrades of such a
package using this command, first upgrade the package to a
newer version from ELPA by using `\\<package-menu-mode-map>\\[package-menu-mark-install]' after `\\[list-packages]'."
(interactive
(list (completing-read
"Upgrade package: " (package--upgradeable-packages) nil t)))
(let* ((package (if (symbolp name)
name
(intern name)))
(pkg-desc (cadr (assq package package-alist))))
(if (package-vc-p pkg-desc)
(package-vc-upgrade pkg-desc)
(package-delete pkg-desc 'force 'dont-unselect)
(package-install package 'dont-select))))