summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-09-24 22:43:26 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-09-24 22:43:26 +0200
commitd98ee767765032acc7f8f14c86dcbbfb67dbcaee (patch)
treeaf4f03bc4508bf3d10dde7d82564a9e2639b42d5
parentbe9e51f61f6c6de17967c139c95d71472bc30137 (diff)
downloademacs-d98ee767765032acc7f8f14c86dcbbfb67dbcaee.tar.gz
Tweak window handling in vc-pull-and-push
* lisp/vc/vc-dispatcher.el (vc--inhibit-async-window): Rename variable. (vc-do-async-command): Allow inhibiting all window changes. * lisp/vc/vc-git.el (vc-git-pull-and-push): Don't pop up the window asynchronously on the "pull" because that gets in the way of doing other things.
-rw-r--r--lisp/vc/vc-dispatcher.el11
-rw-r--r--lisp/vc/vc-git.el4
2 files changed, 7 insertions, 8 deletions
diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el
index 52cf60e9928..89bf79622e8 100644
--- a/lisp/vc/vc-dispatcher.el
+++ b/lisp/vc/vc-dispatcher.el
@@ -425,7 +425,7 @@ case, and the process object in the asynchronous case."
command file-or-list flags))
status)))))
-(defvar vc--inhibit-change-window-start nil)
+(defvar vc--inhibit-async-window nil)
(defun vc-do-async-command (buffer root command &rest args)
"Run COMMAND asynchronously with ARGS, displaying the result.
@@ -436,7 +436,7 @@ The process object is returned.
Display the buffer in some window, but don't select it."
(let ((dir default-directory)
(inhibit-read-only t)
- window new-window-start proc)
+ new-window-start proc)
(setq buffer (get-buffer-create buffer))
(if (get-buffer-process buffer)
(error "Another VC action on %s is running" root))
@@ -459,10 +459,9 @@ Display the buffer in some window, but don't select it."
(insert "\"...\n")
args))))
(setq proc (apply #'vc-do-command t 'async command nil args))))
- (setq window (display-buffer buffer))
- (when (and window
- (not vc--inhibit-change-window-start))
- (set-window-start window new-window-start))
+ (unless vc--inhibit-async-window
+ (when-let ((window (display-buffer buffer)))
+ (set-window-start window new-window-start)))
proc))
(defvar compilation-error-regexp-alist)
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 22f7750febd..f5ac43f5361 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1150,11 +1150,11 @@ for the Git command to run."
(with-current-buffer (process-buffer proc)
(if (and (eq (process-status proc) 'exit)
(zerop (process-exit-status proc)))
- (let ((vc--inhibit-change-window-start t))
+ (let ((vc--inhibit-async-window t))
(vc-git-push nil))
(vc-exec-after
(lambda ()
- (let ((vc--inhibit-change-window-start t))
+ (let ((vc--inhibit-async-window t))
(vc-git-push nil)))
proc))))))