]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new command 'package-vc-update-all'
authorPhilip Kaludercic <philipk@posteo.net>
Sun, 13 Nov 2022 07:12:18 +0000 (08:12 +0100)
committerPhilip Kaludercic <philipk@posteo.net>
Thu, 17 Nov 2022 19:55:04 +0000 (20:55 +0100)
* lisp/emacs-lisp/package-vc.el (package-vc-update-all): Add command
(package-vc-update): Add an assertion to verify this.

lisp/emacs-lisp/package-vc.el

index 36d17c6116bfca95308a378892937d63319337f4..b93205e55879e3f4a807a52224b6e0888d2b29af 100644 (file)
@@ -551,6 +551,15 @@ installed package."
                (if installed package-alist package-archive-contents)
                #'string=)))
 
+(defun package-vc-update-all ()
+  "Attempt to update 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."))
+
 (defun package-vc-update (pkg-desc)
   "Attempt to update the package PKG-DESC."
   (interactive (list (package-vc--read-package-desc "Update source package:")))
@@ -566,6 +575,7 @@ installed package."
   ;; `package-vc--unpack-1'.  Ugh...
   ;;
   ;; If there is a better way to do this, it should be done.
+  (cl-assert (package-vc-p pkg-desc))
   (letrec ((pkg-dir (package-desc-dir pkg-desc))
            (empty (make-symbol "empty"))
            (args (list empty empty empty empty))