From 7d603185e1c82453c990d15a6e09d29e6badb9b2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 1 Nov 2020 23:38:42 -0500 Subject: [PATCH] Filter dead buffers from persp-mode workspaces Fix #4196 Fix #1525 --- modules/ui/workspaces/config.el | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/ui/workspaces/config.el b/modules/ui/workspaces/config.el index 546cc5ca9..cc8aee57b 100644 --- a/modules/ui/workspaces/config.el +++ b/modules/ui/workspaces/config.el @@ -142,6 +142,14 @@ stored in `persp-save-dir'.") (cadr prev-buffers) head))) + ;; HACK Fixes #4196, #1525: selecting deleted buffer error when quitting Emacs + ;; or on some buffer listing ops. + (defadvice! +workspaces-remove-dead-buffers-a (persp) + :before #'persp-buffers-to-savelist + (when (persp-p persp) + (setf (persp-buffers persp) + (cl-delete-if-not #'persp-get-buffer-or-null (persp-buffers persp))))) + ;; Delete the current workspace if closing the last open window (define-key! persp-mode-map [remap delete-window] #'+workspace/close-window-or-workspace