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