Fix git-gutter in indirect buffers

This commit is contained in:
Henrik Lissner 2020-02-25 12:49:52 -05:00
parent d522a7816d
commit e20f574b2e
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -28,11 +28,12 @@ flycheck indicators moved to the right fringe.")
If the buffer doesn't represent an existing file, `git-gutter-mode's activation If the buffer doesn't represent an existing file, `git-gutter-mode's activation
is deferred until the file is saved. Respects `git-gutter:disabled-modes'." is deferred until the file is saved. Respects `git-gutter:disabled-modes'."
(let ((file-name (buffer-file-name (buffer-base-buffer))))
(when (or +vc-gutter-in-remote-files (when (or +vc-gutter-in-remote-files
(not (file-remote-p (or buffer-file-name default-directory)))) (not (file-remote-p (or file-name default-directory))))
(if (not buffer-file-name) (if (null file-name)
(add-hook 'after-save-hook #'+vc-gutter-init-maybe-h nil 'local) (add-hook 'after-save-hook #'+vc-gutter-init-maybe-h nil 'local)
(when (and (vc-backend buffer-file-name) (when (and (vc-backend file-name)
(progn (progn
(require 'git-gutter) (require 'git-gutter)
(not (memq major-mode git-gutter:disabled-modes)))) (not (memq major-mode git-gutter:disabled-modes))))
@ -48,7 +49,7 @@ is deferred until the file is saved. Respects `git-gutter:disabled-modes'."
(setq-local git-gutter:clear-function #'git-gutter:clear-diff-infos) (setq-local git-gutter:clear-function #'git-gutter:clear-diff-infos)
(setq-local git-gutter:window-width 1)) (setq-local git-gutter:window-width 1))
(git-gutter-mode +1) (git-gutter-mode +1)
(remove-hook 'after-save-hook #'+vc-gutter-init-maybe-h 'local)))))) (remove-hook 'after-save-hook #'+vc-gutter-init-maybe-h 'local)))))))
;; Disable in Org mode, as per ;; Disable in Org mode, as per
;; <https://github.com/syl20bnr/spacemacs/issues/10555> and ;; <https://github.com/syl20bnr/spacemacs/issues/10555> and