From: Lars Ingebrigtsen Date: Sat, 24 Sep 2022 20:43:26 +0000 (+0200) Subject: Tweak window handling in vc-pull-and-push X-Git-Tag: emacs-29.0.90~1856^2~242 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d98ee767765032acc7f8f14c86dcbbfb67dbcaee;p=emacs.git 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. --- 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))))))