aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2026-03-29Fix consult preview importing buffers into perspectives.Constantine Vetoshev
2026-02-10Version 2.21.2.21Constantine Vetoshev
2026-02-03Fix winner-mode integration.Constantine Vetoshev
2026-02-03Update CHANGELOG.Constantine Vetoshev
2025-05-23Version 2.20.Constantine Vetoshev
2025-02-15Update the CHANGELOG.Constantine Vetoshev
2024-10-30Version 2.19.2.19gcv
2024-04-13Add persp-kill-other-buffers.gcv
2024-02-17Fix ibuffer loading error.gcv
2022-09-20Version 2.18.2.18gcv
2022-08-28Update documentation.gcv
2022-07-05Avoid killing the last buffer in a perspective by default.gcv
Variable: `persp-avoid-killing-last-buffer-in-perspective`, default `t`; this was formerly the experimental feature flag `persp-feature-flag-prevent-killing-last-buffer-in-perspective` which defaulted to `nil`.
2022-06-15Avoid activating persp-mode when it is already active.gcv
2022-04-20Remove the default key prefix when using Emacs 28 or later.gcv
Discussion: https://github.com/nex3/perspective-el/issues/180.
2022-04-11Update documentation for persp-add-buffer-to-frame-global.gcv
2022-03-19Remove details of internal changes from CHANGELOG.gcv
2022-03-19Update CHANGELOG with `persp-merge` and `persp-unmerge` information.gcv
2022-03-12Minor touch-up for consult-buffer support.gcv
2022-02-25Rewrite persp-other-buffer to respect ido-ignore-buffers.gcv
2021-11-03Update changelog.Constantine Vetoshev
2021-10-21basic-persp-header-line-format-default-value: fix typoMatthew White
Remove leading tab.
2021-10-21basic-persp-switch-to-scratch-buffer: test *scratch* switchingMatthew White
New ert test designed to test 'persp-switch-to-scratch-buffer'. Test switching to a perspective's scratch buffer. Test if the scratch buffer is created when there isn't one.
2021-10-21persp-switch-to-scratch-buffer: switch to the scratch bufferMatthew White
Utility function to switch to the current perspective's scratch buffer, or to create one if it does not exist yet. Add binding "C-x x B" to call 'persp-switch-to-scratch-buffer'.
2021-10-21persp-other-buffer: use persp-get-scratch-buffer if neededMatthew White
Call 'persp-get-scratch-buffer', when needed, to get/create a perspective's scratch buffer. The former function is able to properly set a newly created perspective's scratch buffer.
2021-10-21basic-persp-get-scratch-buffer: test persp-get-scratch-bufferMatthew White
Test that the function 'persp-get-scratch-buffer' can get a scratch buffer from different perspectives without modifying it. Test that its created scratch buffer is conformant to a default scratch buffer.
2021-10-21persp-get-scratch-buffer: get or create a scratch bufferMatthew White
Delegate 'persp-get-scratch-buffer' to get/create a perspective's scratch buffer named "*scratch* (NAME)". Modify 'persp-new' into using this new function. When a scratch buffer is created by 'persp-get-scratch-buffer' it is properly set. An existing buffer is returned as is.
2021-10-21persp-new: enable initial-major-mode only if neededMatthew White
Like 'command-line' does, enable the 'initial-major-mode' in the scratch buffer only when the buffer is in 'fundamental-mode'.
2021-10-21persp-new: properly insert the initial-scratch-messageMatthew White
Like 'command-line-1' does, we need to 'substitute-command-keys' in 'initial-scratch-message'. Unsetting the scratch buffer's modified flag is also a good idea.
2021-10-21persp-switch: remove duplicated codeMatthew White
Use 'persp-new' directly to get an existing perspective, or to create a new one.
2021-10-21persp-new: return the existing perspective or create a new oneMatthew White
Do not modify an existing perspective, just return it. If the perspective doesn't exist, create a new one. A perspective's scratch buffer is not re-created, and the list of buffer is preserved as is when the perspective exists.
2021-10-21basic-persp-get-scratch-buffer: test *scratch* buffer creationMatthew White
New ert test that verifies that the created scratch buffer conforms to the startup scratch buffer. The scratch buffer should be created with 'initial-scratch-message' command key descriptions resolved to command names. Also, its mode should be 'initial-major-mode'. It shouldn't have a modified flag.
2021-10-21persp-maybe-kill-buffer: disassociate buffer via persp-forget-bufferMatthew White
Use 'persp-forget-buffer' rather than 'persp-remove-buffer' to disassociate a buffer with other perspectives.
2021-10-21persp-set-buffer: disassociate buffer via persp-forget-bufferMatthew White
Use 'persp-forget-buffer' rather than 'persp-remove-buffer' to disassociate a buffer with other perspectives.
2021-10-21persp-remove-buffer: disassociate buffer via persp-forget-bufferMatthew White
Update docstring. Use 'persp-forget-buffer' to disassociate a buffer that is shared with other perspectives.
2021-10-21basic-persp-forget-buffer: test persp-forget-bufferMatthew White
Test 'persp-forget-buffer' and 'persp-remove-buffer', also test the function 'persp-set-buffer'. The function 'persp-forget-buffer' should disassociate buffers with perspectives, never killing them. The function 'persp-remove-buffer' should disassociate buffers when they are shared between perspectives and kill unshared buffers, aka buffers not found in any other perspective.
2021-10-21persp-forget-buffer: disassociate buffer with perspectiveMatthew White
New function to disassociate a buffer with the current perspective, without killing it when it's not left in any perspective.
2021-10-21persp-maybe-kill-buffer: don't kill a perspective's last bufferMatthew White
Prevent killing or removing the last buffer left in perspectives, unless a perspective is killed, to avoid adding a buffer of other perspectives to the perspective where the last buffer is removed.
2021-10-21basic-persp-killing-buffers: test killing buffersMatthew White
A buffer should not be killable when it's a perspective's last left buffer. This prevents adding a buffer from another perspective. A perspective can be killed, though, even if it has only one buffer. It should be possible to remove buffers from perspectives, unless a buffer is the perspective's last left buffer.
2021-10-21persp-reset-windows: keep window-prev-buffers emptyMatthew White
Up to Emacs 27.2, 'switch-to-buffer-preserve-window-point' allows 'delete-window' to update 'window-prev-buffers' of all windows if it isn't set to nil. After calling 'persp-reset-windows', 'window-prev-buffers' should be empty to prevent perspectives from pulling in buffers of other perspectives.
2021-10-21basic-persp-window-prev-buffers: ert test window-prev-buffersMatthew White
A dirty 'window-prev-buffers' may allow a perspective to pull in buffers from other perspectives. Till Emacs 27.2, 'delete-window' may update 'window-prev-buffers' for all windows. This means that after 'persp-reset-windows' the single window left may end up with a dirty 'window-prev-buffers', unless 'switch-to-buffer-preserve-window-point' is nil. Upstream commit 8f63f0078a23421eada97b4da51b9308b82532ce reverted window/winner changes (Revert 0454bfd3313) in Emacs (bug#23621). So, what said above should not apply any more after that commit, and 'switch-to-buffer-preserve-window-point' could not be used."
2021-10-20persp-remove-buffer: bury buffer walking windows in one way loopMatthew White
A one way loop, with pre-defined start and end, prevents any infinite ping-pong. This is not just syntactic sugar. In a "while buried buffer found in window" loop, there is the risk that when the buffer is buried in one window, it may be un-buried in another (for "mystic" reasons) and the loop will never end.
2021-10-20persp-remove-buffer: force update current-buffer when burying itMatthew White
If burying the 'current-buffer' inside 'with-selected-window', then force update the current buffer after, since 'with-selected-window' may restore the buried buffer as current buffer after executing its BODY.
2021-10-20make-persp, persp-activate: force update current-bufferMatthew White
Before executing BODY, 'make-persp' saves the current buffer, and then restores it after. Hence, if the 'current-buffer' is changed in BODY, that change is lost. Notify this in the docstring. Force 'persp-activate' to update the current buffer with the buffer in the current window.
2021-10-20basic-persp-switching: add tests for the 'current-buffer'Matthew White
Switching to a new perspective should set the 'current-buffer' to the perspective's scratch buffer. Removing a buffer should switch to the next one available in the perspective setting it as current buffer.
2021-10-20persp-set-buffer: use BUFFER-OR-NAME as argument, discard killedMatthew White
Follow the style used for 'persp-add-buffer'. BUFFER-OR-NAME is a standard name for an argument that could either be a buffer or the buffer's name. The logic of the function remains unchanged except that a killed buffer passed as argument is discarded now.
2021-10-20basic-persp-set-buffer: test persp-set-bufferMatthew White
Thoroughly test 'persp-set-buffer'. It should not allow to share buffers between perspectives, and a non-existing buffer passed as argument should be discarded.
2021-10-20persp-add-buffer: discard unexisting buffer as argumentMatthew White
Do not accept unexisting buffers as argument. If the buffer doesn't exist or was killed, discard it and display a reminder.
2021-10-20basic-persp-add-buffer: test persp-add-bufferMatthew White
Thoroughly test 'persp-add-buffer'. It should allow to share buffers between perspectives, a non-existing buffer passed as argument should be discarded.
2021-10-20basic-persp-get-buffer-names: test persp-get-buffer-namesMatthew White
Test the utility function 'persp-get-buffer-names'. Expect the list of a perspective's live buffers.
2021-10-20persp-get-buffer-names: get a perspective's list of live buffersMatthew White
New utility function to return a perspective's list of live buffers for a specific frame or for the selected one. As argument, accepts a name or a proper perspective data, if nil or if not given default to the current perspective. If a frame is nil or not given default to the selected frame.