summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-04-28 11:51:01 +0800
committerPo Lu <luangruo@yahoo.com>2023-04-28 11:51:01 +0800
commita97c382682b483b34351c6757e54e3139fa27f89 (patch)
tree497b1b52dd955f593a0a39f1032e3fd55aabcc35 /lisp/emacs-lisp
parentdbd74657908e67e2a5001fbe440fb2a01a2f01af (diff)
parenta40f18162377d2f9a78d7443fd0f8106c8c28c3d (diff)
downloademacs-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.el18
-rw-r--r--lisp/emacs-lisp/package.el44
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.