From 24282a454e533dfe9cf99ef7da6a74eebd10990c Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 24 Feb 2020 19:23:37 -0500 Subject: [PATCH] Fix revert-buffer--default error after using magit It too aggressively tries to revert all buffers, even ones that can't be reverted. --- modules/tools/magit/autoload.el | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/tools/magit/autoload.el b/modules/tools/magit/autoload.el index 3b9e6ff91..5b5a40bcc 100644 --- a/modules/tools/magit/autoload.el +++ b/modules/tools/magit/autoload.el @@ -43,12 +43,17 @@ ;; ;;; Auto-revert -(defvar-local +magit--stale-p nil) +(defvar +magit--stale-p nil) (defun +magit--revert-buffer (buffer) (with-current-buffer buffer - (setq +magit--stale-p nil) - (revert-buffer t (not (buffer-modified-p))))) + (kill-local-variable '+magit--stale-p) + (if (buffer-file-name (buffer-base-buffer)) + (and (or (not (buffer-modified-p)) + (y-or-n-p "Version control data is outdated in this buffer, but it is unsaved. Revert anyway?")) + (revert-buffer t t)) + (when (and vc-mode (fboundp 'vc-refresh-state)) + (vc-refresh-state))))) ;;;###autoload (defun +magit-mark-stale-buffers-h () @@ -61,7 +66,7 @@ modified." (if (get-buffer-window buffer) (+magit--revert-buffer buffer) (with-current-buffer buffer - (setq +magit--stale-p t)))))) + (setq-local +magit--stale-p t)))))) ;;;###autoload (defun +magit-revert-buffer-maybe-h ()