diff --git a/modules/tools/magit/autoload.el b/modules/tools/magit/autoload.el index d6cda9596..fd19a45e6 100644 --- a/modules/tools/magit/autoload.el +++ b/modules/tools/magit/autoload.el @@ -53,13 +53,16 @@ "Clean up magit buffers after quitting `magit-status' and refresh version control in buffers." (interactive) - (mapc #'+magit--kill-buffer (magit-mode-get-buffers)) - (dolist (buffer (buffer-list)) - (with-current-buffer buffer - (when (fboundp 'vc-refresh-state) - (vc-refresh-state)) - (when (fboundp '+version-control|update-git-gutter) - (+version-control|update-git-gutter))))) + (if (cdr (delq nil (mapcar (lambda (win) (with-selected-window win (eq major-mode 'magit-status-mode))) + (window-list)))) + (quit-window) + (mapc #'+magit--kill-buffer (magit-mode-get-buffers)) + (dolist (buffer (buffer-list)) + (with-current-buffer buffer + (when (fboundp 'vc-refresh-state) + (vc-refresh-state)) + (when (fboundp '+version-control|update-git-gutter) + (+version-control|update-git-gutter)))))) (defun +magit--kill-buffer (buf) "TODO"