aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYikai Zhao <yikai@z1k.dev>2025-02-11 22:04:56 +0800
committerYikai Zhao <yikai@z1k.dev>2025-02-11 22:04:56 +0800
commit50904a7a19768dfd02e19a1669ecf5bc9be1a155 (patch)
tree58ed874921b6e40014eb35c7306bf16ec7e53a19
parente32d3ea731f6bc551ce196527b3cb0dc19d71151 (diff)
persp-reactive-buffers: preserve recent visited order of buffers
Previously, after switching to a perspective, the recent-visit order of buffers will be changed because `persp-reactive-buffers` revisits buffers based on `persp-current-buffers` which is in a fixed order. With this PR, `persp-reactive-buffers` revisits the buffers based on `(buffer-list)`
-rw-r--r--perspective.el8
1 files changed, 4 insertions, 4 deletions
diff --git a/perspective.el b/perspective.el
index d85f97d..7265f18 100644
--- a/perspective.el
+++ b/perspective.el
@@ -663,11 +663,11 @@ buffer called \"*scratch* (NAME)\"."
Returns BUFFERS with all non-living buffers removed.
See also `other-buffer'."
- (cl-loop for buf in (reverse buffers)
- when (buffer-live-p buf)
- collect buf into living-buffers
+ (cl-loop for buf in (reverse (buffer-list))
+ when (member buf buffers)
+ collect buf into result-buffers
and do (switch-to-buffer buf)
- finally return (nreverse living-buffers)))
+ finally return result-buffers))
(defun persp-set-local-variables (vars)
"Set the local variables given in VARS.