doomemacs/modules/emacs/undo
Henrik Lissner ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
..
config.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
packages.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
README.org revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00

:emacs undo

Description   unfold

This module augments Emacs' built-in undo system to be more intuitive and to persist across Emacs sessions.

Module flags

+tree
Uses undo-tree instead of undo-fu, which is a little less stable, but offers branching undo history and a visualizer for navigating it.

Hacks

  • Both undo-fu and undo-tree have been modified to use zstd to compress undo history if it is available.
  • undo-tree only

    • Text properties are stripped from undo history to shrink it.
    • Undo-tree is too chatty about saving its history files. This has be "silenced". i.e. It's visible in \*Messages\*, but won't appear in your minibuffer.
  • unfo-fu only

    • Doom defines undo-fu-mode to make it easier to add hooks/mode-local keybinds.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

This module has no external requirements.

TODO Usage

🔨 This module has no usage documentation yet. Write some?

TODO Configuration

🔨 This module's configuration documentation is incomplete. Complete it?

Disabling persistent undo history

  • If you are using +tree:

    (after! undo-tree
      (setq undo-tree-auto-save-history nil))
  • If you aren't:

    (remove-hook 'undo-fu-mode-hook #'global-undo-fu-session-mode)

Troubleshooting

Report an issue?

undo-tree

  • Has been known to truncate undo history unpredictably, due to Emacs' undo cleanup imposing linear undo limits on non-linear undo tree data. Doom already sets undo-limit, undo-strong-limit, and undo-outer-limit absurdly high to mitigate this somewhat.

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

🔨 This module has no appendix yet. Write one?