All notable changes to this project will be documented in this file. Note that Perspective was started in 2008 and this log was only added in 2021.
The format is based on Keep a Changelog.
- Integrate
winner-modestate per perspective to preventwinner-undocrossing perspectives (#137).
persp-sort: now supports'oldestsorting, which inverts sort order compared to'created(#224).
- Change the behavior of
persp-reactivate-buffersso that the order of buffers follows(buffer-list)(#215).
persp-ibuffer-generate-filter-groups: loadibuf-extlibrary if needed (#202).
persp-kill-other-buffers: kill other buffers in the current perspectives.
persp-purge-initial-persp-on-save: support for optionally killing all buffers of the initial perspective upon callingperps-state-save, thus treating the initial perspective as a disposable scratch area.persp-add-buffer-to-frame-global: support for special frame-specific "global" perspectives; buffers which they contain will appear in Perspective-aware buffer listings in all perspectives in their containing framespersp-switch-to-scratch-buffer: interactive function to switch to the current perspective's scratch buffer, creating one if missing.persp-forget-buffer: disassociate buffer with perspective without the risk of killing it. This balancespersp-add-buffer. Newly created buffers viaget-buffer-createare rogue buffers not found in any perspective, this function allows to get back to that state.- Support for using Consult's
consult-bufferas a Perspective-aware buffer switcher. persp-mergeandpersp-unmerge: temporarily import buffers from one perspective into another.
- Avoid killing the last buffer in a perspective by default (
persp-avoid-killing-last-buffer-in-perspective, defaultt; this was formerly the experimental feature flagpersp-feature-flag-prevent-killing-last-buffer-in-perspectivewhich defaulted tonil). - Breaking change: (Emacs 28+ only): no longer provide a default
persp-mode-prefix-key. It wasC-x xin the past, which conflicts with key bindings shipping with Emacs 28. Users of Emacs 28 must now pick their own prefix key. The default remains unchanged for users of Emacs 27 and earlier. persp-remove-buffer: do not kill/remove a perspective's last left buffer.persp-switch-to-buffer*: tag with'buffercategory so Marginalia can add its annotations.persp-other-buffer: rewrite so it respects ignored buffer list.
persp-new: enableinitial-major-modeonly if the scratch buffer is infundamental-mode.persp-new: properly substitute command keys when insertinginitial-scratch-messageinto scratch buffers.persp-new: do not recreate existing perspectives. This prevents from resetting perspectives to a state where in the perspective there's only the scratch buffer.persp-reset-windows: setswitch-to-buffer-preserve-window-pointtonilbefore callingdelete-window, that up to Emacs 27.2 updateswindow-prev-buffersof all windows, unless the former is turned off.persp-remove-buffer: force update thecurrent-bufferto the current window's buffer due towith-selected-windowsaving/restoring thecurrent-bufferwhen executing it's BODY. This properly updates thecurrent-bufferto what should be the real current buffer when burying the current buffer.persp-activate: force update thecurrent-bufferto the current window's buffer due tomake-perspsaving/restoring thecurrent-bufferwhen executing it's BODY. This properly updates thecurrent-bufferto what should be the real current buffer when switching to a new perspective.persp-add-buffer: discard unexisting buffer as argument.- Added a workaround for potential problems caused by recursive minibuffer use.
- Made activating
persp-moderepeatedly idempotent (should fix interactive enable-theme invocation bug).
- Improved Helm integration.
helm-buffers-listnow lists buffers in all perspectives when called with a prefix argument. It also now has actions to add to the current perspective, and to remove buffers from the current perspective.
- Rewrote Ivy / Counsel buffer switchers to make better use of the Ivy API. As a result, C-k to kill buffers directly from the switcher now works.
persp-kill-others- Make
xrefrings perspective-specific (so popping back will not inadvertently jump to a file in a different perspective). - Support for grouping buffers by
persp-namein ibuffer.
- Switched from now-defunct Travis CI to GitHub Actions.
header-line-formatwrangling bug.