aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--perspective.el2
2 files changed, 2 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ccd7ef..f3bf67c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -52,6 +52,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- `persp-mode`: add/remove `persp-maybe-kill-buffer` hook.
- `persp-kill`: switch `persp-maybe-kill-buffer` on/off to allow killing a perspective's last left buffer.
- `persp-set-buffer`: walk perspectives rather than using a while `persp-buffer-in-other-p` loop, since the former isn't prone to infinite loops. This is needed due to buffers kept in perspectives by `persp-maybe-kill-buffer` and `persp-remove-buffer` when a buffer is a perspective`s last left buffer.
+- `persp-set-buffer`: use `persp-forget-buffer` to remove a buffer from a perspective.
- `persp-remove-buffer`: use `persp-forget-buffer` to remove a buffer from a perspective.
- `persp-remove-buffer`: do not kill/remove a perspective's last left buffer.
- `persp-remove-buffer`: when burying a buffer, walk windows rather than using a while loop, since the former isn't prone to infinite loops.
diff --git a/perspective.el b/perspective.el
index b0c439e..0e0eb4d 100644
--- a/perspective.el
+++ b/perspective.el
@@ -824,7 +824,7 @@ See also `persp-switch' and `persp-remove-buffer'."
;; go into an infinite loop.
(cl-loop for other-persp in (remove (persp-current-name) (persp-all-names))
do (with-perspective other-persp
- (persp-remove-buffer buffer))))))
+ (persp-forget-buffer buffer))))))
(cl-defun persp-buffer-in-other-p (buffer)
"Returns nil if BUFFER is only in the current perspective.