#144: purpose-x-magit extension: replace magit
purpose with Magit
When using the purpose-x-magit extension via
purpose-x-magit-single-on
, the extension no longer defines a
magit
purpose. Instead it defines an identical purpose named
Magit
. This way, the purpose can be used as a condition in
purpose-special-action-sequences
.
Those who use purpoxe-x-magit via purpose-x-magit-multi-on
are
not affected by this change.
#172: Rework Travis CI tests configuration and add Emacsen up to 27.1
#182: Prevent debug
command from bypassing purpose
Previously, the integration fixes would remain active even when purpose-mode
was disabled, disrupting the normal display behavior of integrated packages and
features.
#153, #177: purpose-x-popwin extension: quit-window closes popup window when no previous buffers can be shown in it
#171: Reimplement whitespace-display-window
using purposes
Original whitespace-display-window
doesn’t go through display-buffer
, thus
disregarding window-purpose
entirely.
#170: Reimplement edebug-pop-to-buffer
using purposes
Original edebug-pop-to-buffer
doesn’t go through display-buffer
, thus
disregarding window-purpose
entirely.
#169: Prevent Isearch help commands from bypassing purpose
#168: purpose-x-magit extension: prevent magit-display-buffer-function
from bypassing purpose
#167: Prevent next-error
from bypassing purpose
#166: Properly format defcustom package-version
#133: Neotree fix honors neo-window-position
#137: purpose-change-buffer
to ignore dedicated
argument in new Emacsen
As of Emacs 27.0.50, the function window--display-buffer
no longer accepts
a dedicated
argument, and instead relies on alist
and
display-buffer-mark-dedicated
to decide dedication state of the window. As
result, purpose-change-buffer
ignores the dedicated
argument when using
Emacs version 27 or newer. Older Emacs versions are not affected.
#134: add support for Zone
#78 (comment) purpose-x-persp extension: persp-curr
is now a function
Supported versions are Emacs 24.4 and newer (up to 26.1 at the
time of writing). The branch release-1.6
will continue to
support Emacs 24.3 and is available for those who need it.
#116: honor display-buffer-mark-dedicated
Removed completing-read
and read-file-name
shims, thus the
custom variable purpose-preferred-prompt
has been removed. From the README:
In the past, the variable `purpose-preferred-prompt`, allowed you to choose whether you want Purpose to use IDO or Helm when it needs information from the user. This variable has been removed. Instead, the prompt relies on the normal mechanism. For Helm prompts enable `helm-mode`, for Ivy mode enable `ivy-mode`, for IDO prompts enable `ido-mode`, etc. If using `ido-mode`, note that because how IDO works it doesn’t cover all commands, and some commands won’t have an IDO prompt. To work around that, please see the package [ido-completion-read+](https://github.com/DarwinAwardWinner/ido-completing-read-plus) (formerly ido-ubiquitous).
If a buffer is visiting a file, its default purpose (if no other
purpose matches) will be edit
.
Emacs 25.2 not added, because it is almost exactly the same as 25.3, and the difference doesn’t affect Purpose’s behavior.
- css-mode: edit
- eshell-mode, term-mode: terminal
#110: wrong window layout after using magit-popup’s help system
Added a fix in window-purpose-fixes.el
.
#111: wrong layout when using org-goto
Added a fix in window-purpose-fixes.el
.
#123 purpose-x-popwin: fix custom type mismatches
#118: fix typos in README
#121: prefer the selected window even with multiple frames
#120: pop-up-frames takes precedence over pop-up-windows
User purposes: purpose-add-user-purposes
, purpose-remove-user-purposes
Extension purposes: purpose-add-extension-purposes
, purpose-remove-extension-purposes
Subdirectory layouts
contains preinstalled layouts. Customizable variable
purpose-use-built-in-layouts
controls if those layouts are available to
the user (available by default).
#79: nil buffer means other-buffer
for some buffer switching commands
These commands are: purpose-switch-buffer
,
purpose-switch-buffer-other-window
, purpose-pop-buffer
and
purpose-pop-buffer-same-window
.
#80: added autoloads to some commands outside of window-purpose.el
#95: loading layouts to show different buffers
purpose-set-window-layout
places different buffers of the same purpose, if
the layout has multiple windows with same purpose. Previously, all windows
with the purpose would show the same buffer after loading a layout. This
affects all layout-loading commands.