diff options
author | Po Lu <luangruo@yahoo.com> | 2023-04-28 11:51:01 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2023-04-28 11:51:01 +0800 |
commit | a97c382682b483b34351c6757e54e3139fa27f89 (patch) | |
tree | 497b1b52dd955f593a0a39f1032e3fd55aabcc35 /lisp/emacs-lisp | |
parent | dbd74657908e67e2a5001fbe440fb2a01a2f01af (diff) | |
parent | a40f18162377d2f9a78d7443fd0f8106c8c28c3d (diff) | |
download | emacs-a97c382682b483b34351c6757e54e3139fa27f89.tar.gz |
Merge from origin/emacs-29
a40f1816237 Fix two crashes upon startup
44ebd9cbd56 Eglot: explain how to update Eglot in manual (bug#62720)
941ef044f2e Eglot: fix edge case when deleting inlay hint overlays
a365984d9e1 package-upgrade[-all]: Expand docstrings to note the curr...
f965f35b33b Rename all functions called package-*-update-* to package...
31b58161bb5 Fix FOR_EACH_TAIL in c-ts-mode (bug#62951)
0cf6e0998ba * Makefile.in (distclean): Remove the 'native-lisp' direc...
933705d61e5 Improve greek-ibycus4 input method
# Conflicts:
# etc/NEWS
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/package-vc.el | 18 | ||||
-rw-r--r-- | lisp/emacs-lisp/package.el | 44 |
2 files changed, 35 insertions, 27 deletions
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el index a72bb084d31..83d697a2e90 100644 --- a/lisp/emacs-lisp/package-vc.el +++ b/lisp/emacs-lisp/package-vc.el @@ -24,7 +24,7 @@ ;; While packages managed by package.el use tarballs for distributing ;; the source code, this extension allows for packages to be fetched -;; and updated directly from a version control system. +;; and upgraded directly from a version control system. ;; ;; To install a package from source use `package-vc-install'. If you ;; aren't interested in activating a package, you can use @@ -672,19 +672,19 @@ installed package." #'string=))) ;;;###autoload -(defun package-vc-update-all () - "Attempt to update all installed VC packages." +(defun package-vc-upgrade-all () + "Attempt to upgrade all installed VC packages." (interactive) (dolist (package package-alist) (dolist (pkg-desc (cdr package)) (when (package-vc-p pkg-desc) - (package-vc-update pkg-desc)))) - (message "Done updating packages.")) + (package-vc-upgrade pkg-desc)))) + (message "Done upgrading packages.")) ;;;###autoload -(defun package-vc-update (pkg-desc) - "Attempt to update the package PKG-DESC." - (interactive (list (package-vc--read-package-desc "Update VC package: " t))) +(defun package-vc-upgrade (pkg-desc) + "Attempt to upgrade the package PKG-DESC." + (interactive (list (package-vc--read-package-desc "Upgrade VC package: " t))) ;; HACK: To run `package-vc--unpack-1' after checking out the new ;; revision, we insert a hook into `vc-post-command-functions', and ;; remove it right after it ran. To avoid running the hook multiple @@ -882,7 +882,7 @@ Rebuilding an installation means scraping for new autoload cookies, re-compiling Emacs Lisp files, building and installing any documentation, downloading any missing dependencies. This command does not fetch new revisions from a remote server. That -is the responsibility of `package-vc-update'. Interactively, +is the responsibility of `package-vc-upgrade'. Interactively, prompt for the name of the package to rebuild." (interactive (list (package-vc--read-package-desc "Rebuild package: " t))) (package-vc--unpack-1 pkg-desc (package-desc-dir pkg-desc))) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 240ea10cbfc..65bb226acb1 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2259,24 +2259,28 @@ had been enabled." (message "Package `%s' installed." name)) (message "`%s' is already installed" name)))) -(declare-function package-vc-update "package-vc" (pkg)) +(declare-function package-vc-upgrade "package-vc" (pkg)) ;;;###autoload -(defun package-update (name) - "Update package NAME if a newer version exists." +(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. Use `i' after `M-x list-packages' to +upgrade to an ELPA version first." (interactive (list (completing-read - "Update package: " (package--updateable-packages) nil t))) + "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-update pkg-desc) + (package-vc-upgrade pkg-desc) (package-delete pkg-desc 'force) (package-install package 'dont-select)))) -(defun package--updateable-packages () +(defun package--upgradeable-packages () ;; Initialize the package system to get the list of package ;; symbols for completion. (package--archives-initialize) @@ -2294,23 +2298,27 @@ had been enabled." package-alist))) ;;;###autoload -(defun package-update-all (&optional query) +(defun package-upgrade-all (&optional query) "Refresh package list and upgrade all packages. -If QUERY, ask the user before updating packages. When called -interactively, QUERY is always true." +If QUERY, ask the user before upgrading packages. When called +interactively, QUERY is always true. + +Currently, packages which are part of the Emacs distribution are +not upgraded that way. Use `i' after `M-x list-packages' to +upgrade to an ELPA version first." (interactive (list (not noninteractive))) (package-refresh-contents) - (let ((updateable (package--updateable-packages))) - (if (not updateable) - (message "No packages to update") + (let ((upgradeable (package--upgradeable-packages))) + (if (not upgradeable) + (message "No packages to upgrade") (when (and query (not (yes-or-no-p - (if (length= updateable 1) - "One package to update. Do it? " - (format "%s packages to update. Do it?" - (length updateable)))))) - (user-error "Updating aborted")) - (mapc #'package-update updateable)))) + (if (length= upgradeable 1) + "One package to upgrade. Do it? " + (format "%s packages to upgrade. Do it?" + (length upgradeable)))))) + (user-error "Upgrade aborted")) + (mapc #'package-upgrade upgradeable)))) (defun package--dependencies (pkg) "Return a list of all dependencies PKG has. |