Files
Henrik Lissner fabce333e0 fix(undo): undo-tree visualizer refusing to quit in some cases
This is due to other dedicated/side popups and/or windows causing the
undo-tree visualizer buffer to open in difficult-to-delete windows. This
should be reported and addressed upstream, though.

Fix: #8198
2025-05-15 15:18:35 +02:00
..
2024-09-14 20:47:39 -04:00
2025-05-02 14:58:40 -04: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?