New fix for #1525: 'selecting deleted buffer' error

This commit is contained in:
Henrik Lissner 2019-08-21 00:22:52 -04:00
parent 40e6a37652
commit 9b1c49149c
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -168,23 +168,15 @@ stored in `persp-save-dir'.")
(add-hook 'projectile-after-switch-project-hook #'+workspaces-switch-to-project-h) (add-hook 'projectile-after-switch-project-hook #'+workspaces-switch-to-project-h)
(defadvice! +workspaces--remove-dead-buffers-a (persp)
"Fixes #1525. Remove dead buffers from PERSP's buffer list."
:before #'persp-buffers-to-savelist
(when (and persp (persp-p persp))
(let (buffers-to-remove)
(dolist (buffer (persp-buffers persp))
(unless (buffer-live-p buffer)
(push buffer buffers-to-remove)))
(when buffers-to-remove
(persp-remove-buffer buffers-to-remove persp)))))
;; Fix #1017: stop session persistence from restoring a broken posframe ;; Fix #1017: stop session persistence from restoring a broken posframe
(after! posframe (after! posframe
(add-hook! 'persp-after-load-state-functions (add-hook! 'persp-after-load-state-functions
(defun +workspaces-delete-all-posframes-h (&rest _) (defun +workspaces-delete-all-posframes-h (&rest _)
(posframe-delete-all)))) (posframe-delete-all))))
;; Fix #1525: Ignore dead buffers in PERSP's buffer list
(add-hook 'persp-filter-save-buffers-functions #'buffer-live-p)
;; ;;
;; eshell ;; eshell
(persp-def-buffer-save/load (persp-def-buffer-save/load