From 68e1d560158d4536c56ce2a4e29e668aa0a60921 Mon Sep 17 00:00:00 2001 From: fnussbaum Date: Tue, 10 Sep 2024 00:52:40 +0200 Subject: [PATCH] [git] Do not save magit buffers in layouts They are restored as empty buffers and accumulate over time. --- layers/+source-control/git/funcs.el | 5 +++++ layers/+source-control/git/packages.el | 3 +++ 2 files changed, 8 insertions(+) diff --git a/layers/+source-control/git/funcs.el b/layers/+source-control/git/funcs.el index 6e0e72ddb8ae..56af0e7f75aa 100644 --- a/layers/+source-control/git/funcs.el +++ b/layers/+source-control/git/funcs.el @@ -73,6 +73,11 @@ (let (git-link-open-in-browser) (call-interactively 'git-link-commit))) +(defun spacemacs//magit-buffer-p (buf) + "Return non-nil if and only if BUF's major-mode is derived from +`magit-mode'." + (provided-mode-derived-p (buffer-local-value 'major-mode buf) 'magit-mode)) + ;; git blame transient state diff --git a/layers/+source-control/git/packages.el b/layers/+source-control/git/packages.el index 0aad82c2fa03..5d5da78ed40b 100644 --- a/layers/+source-control/git/packages.el +++ b/layers/+source-control/git/packages.el @@ -203,6 +203,9 @@ ("Y" magit-blame-copy-hash) ("B" magit-blame :exit t) ("Q" nil :exit t)) + (with-eval-after-load 'persp-mode + (add-hook 'persp-filter-save-buffers-functions + 'spacemacs//magit-buffer-p)) :config ;; seems to be necessary at the time of release (require 'git-rebase)