Skip to content

Latest commit

 

History

History
84 lines (67 loc) · 2.53 KB

README.org

File metadata and controls

84 lines (67 loc) · 2.53 KB

:emacs undo

Description

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

Maintainers

  • @hlissner

Become a maintainer?

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.

Packages

  • doom-package:undo-fu
  • doom-package:undo-fu-session
  • doom-package:undo-tree if doom-module:+tree
  • doom-package:vundo

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.

Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

This module has no external requirements.

Usage

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

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?

Appendix

🔨 This module has no appendix yet. Write one?