]> git.eshelyaron.com Git - emacs.git/commitdiff
vc-git--pushpull: Restore handling of vc-git-program
authorSean Whitton <spwhitton@spwhitton.name>
Fri, 23 Sep 2022 17:43:31 +0000 (10:43 -0700)
committerSean Whitton <spwhitton@spwhitton.name>
Fri, 23 Sep 2022 21:55:02 +0000 (14:55 -0700)
* lisp/vc/vc-git.el (vc-git--pushpull): Restore handling of
vc-git-program before recent change: respect a buffer-local value of
vc-git-program, and don't ignore user edits to the git program name
when PROMPT.

lisp/vc/vc-git.el

index 2228cf86659ce036e53333bddaf4d8bd132fdf1e..3816d323e6f43b845efa8d8b6cf997f8acc727a3 100644 (file)
@@ -1096,22 +1096,25 @@ It is based on `log-edit-mode', and has Git-specific extensions."
 If PROMPT is non-nil, prompt for the Git command to run."
   (let* ((root (vc-git-root default-directory))
         (buffer (format "*vc-git : %s*" (expand-file-name root)))
+         (git-program vc-git-program)
          ;; TODO if pushing, prompt if no default push location - cf bzr.
          (vc-want-edit-command-p prompt))
     (require 'vc-dispatcher)
     (when vc-want-edit-command-p
       (with-current-buffer (get-buffer-create buffer)
         (add-hook 'vc-pre-command-functions
-                  (pcase-lambda (_ _ `(,new-command . ,new-args))
-                    (setq command new-command extra-args new-args))
+                  (lambda (&rest args)
+                    (setq git-program (car args)
+                          command (caaddr args)
+                          extra-args (cdaddr args)))
                   nil t)))
     (apply #'vc-do-async-command
-           buffer root vc-git-program command extra-args)
+           buffer root git-program command extra-args)
     (with-current-buffer buffer
       (vc-run-delayed
         (vc-compilation-mode 'git)
         (setq-local compile-command
-                    (concat vc-git-program " " command " "
+                    (concat git-program " " command " "
                             (mapconcat #'identity extra-args " ")))
         (setq-local compilation-directory root)
         ;; Either set `compilation-buffer-name-function' locally to nil