Skip to content

Version 1.2

Compare
Choose a tag to compare
@bmag bmag released this 23 Feb 14:39
· 258 commits to master since this release

Important Changes:

  • The purpose configuration system has been redone. The configuration now has 3 layers: user settings, extensions settings, and default settings.
    Users can configure purposes through customize. Extensions can configure purposes through purpose-conf objects and purpose-set-exended-configuration function.
    See the wiki for more details.
  • Purpose is now customizable. User-relevant variables can be changed via customize (group "purpose").
  • Purpose is now compatible with Emacs 24.3, and probably some older versions as well.

User-Interface Changes:

  • New functions: purpose-reset-window-layout and purpose-reset-frame-layout restore the layout to the previously loaded window layout or frame layout, respectively.
  • New function: purpose-switch-buffer-with-purpose is like purpose-switch-buffer, but only buffers with the same purpose as the current one are offered. You can call it with C-u C-u C-x b.
    Similar functions purpose-switch-buffer-with-purpose-other-window and purpose-switch-buffer-with-purpose-other-frame also exist.
  • New fallback behavior for displaying a buffer: pop-up-window instead of pop-up-frame.
  • New variable: purpose-special-action-sequences lets you define special display behaviors for specific purposes.

General Changes:

  • Purpose now uses lexical bindings.
  • purpose-set-window-layout and purpose-set-frame-layout optionally save the loaded layout in purpose-mru-window-layout and purpose-mru-frame-layout. MRU stands for "most recently used".
  • Code uses purpose-message instead of message for debugging. Variable purpose-message-on-p toggles purpose-message on and off (default is off).

Bug Fixes:

  • When loading layouts (purpose-set-window-layout) with a window that was split at least twice in the same direction, all windows except the first one were loaded in the reverse order. This bug was fixed.
  • purpose-display-pop-up-window would use an existing window and ignore purposes, instead of creating a new window. This bug was fixed (display-buffer-pop-up-window is no longer used).