doom-emacs/modules/emacs/undo
2024-05-21 17:16:40 +02:00
..
config.el fix(undo): add emacs version check for vundo 2024-05-21 17:16:12 +02:00
packages.el bump: :emacs 2024-05-21 17:16:40 +02:00
README.org docs(*): replace all-the-icons with nerd-icons 2024-05-21 17:16:13 +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 doom-package:undo-tree instead of doom-package: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.
  • undo-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 doom-module:+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?