emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

scratch/package-vc-fixes 2e007c62f3 14/48: Track 'default-directory' whi


From: Philip Kaludercic
Subject: scratch/package-vc-fixes 2e007c62f3 14/48: Track 'default-directory' while updating source packages
Date: Wed, 16 Nov 2022 04:50:00 -0500 (EST)

branch: scratch/package-vc-fixes
commit 2e007c62f354a01c5e49c44f3e25d3b42260dea6
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>

    Track 'default-directory' while updating source packages
    
    * lisp/emacs-lisp/package-vc.el (package-vc-update): Add the source
    directory to the identifier list, in case the remaining
    'vc-do-command' arguments are all read-time constants.
---
 lisp/emacs-lisp/package-vc.el | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 93a96abb68..d2ee63da87 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -544,19 +544,22 @@ installed package."
   ;;
   ;; If there is a better way to do this, it should be done.
   (letrec ((pkg-dir (package-desc-dir pkg-desc))
-           (empty (make-symbol empty))
-           (args (list empty empty empty))
+           (empty (make-symbol "empty"))
+           (args (list empty empty empty empty))
            (vc-filter-command-function
             (lambda (command file-or-list flags)
               (setf (nth 0 args) command
                     (nth 1 args) file-or-list
-                    (nth 2 args) flags)
+                    (nth 2 args) flags
+                    (nth 3 args) default-directory)
               (list command file-or-list flags)))
            (post-upgrade
             (lambda (command file-or-list flags)
               (when (and (memq (nth 0 args) (list command empty))
                          (memq (nth 1 args) (list file-or-list empty))
-                         (memq (nth 2 args) (list flags empty)))
+                         (memq (nth 2 args) (list flags empty))
+                         (or (eq (nth 3 args) empty)
+                             (file-equal-p (nth 3 args) default-directory)))
                 (with-demoted-errors "Failed to activate: %S"
                   (package-vc--unpack-1 pkg-desc pkg-dir))
                 (remove-hook 'vc-post-command-functions post-upgrade)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]