From: Dmitry Bogatov <kact...@gnu.org> * gnu/packages/emacs.scm (emacs-undo-tree): New variable --- gnu/packages/emacs.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7d95f55..2fd39a3 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1007,6 +1007,42 @@ and stored in memory.") (description "This package provides a modern list API library for Emacs.") (license license:gpl3+))) +;; Version in source is 0.6.6, but both source repository +;; and web-site , pkgnamerefers to 0.6.4. +(define-public emacs-undo-tree + (package + (name "emacs-undo-tree") + (version "0.6.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "http://dr-qubit.org/git/undo-tree.git") + (commit "release/0.6.4"))) + (sha256 + (base32 + "0b6hnv6bq1g5np5q2yw9r9aj1cxpp14akm21br7vpb7wp01fv4b3")))) + (build-system emacs-build-system) + (home-page "http://www.dr-qubit.org/emacs.php") + (synopsis "Treat undo history as a tree") + + (description "Emacs has a powerful undo system. Unlike the standard +undo/redo system in most software, it allows you to recover *any* past state +of a buffer (whereas the standard undo/redo system can lose past states as +soon as you redo). However, this power comes at a price: many people find Emacs' +undo system confusing and difficult to use, spawning a number of packages that +replace it with the less powerful but more intuitive undo/redo system. + +Both the loss of data with standard undo/redo, and the confusion of Emacs' +undo, stem from trying to treat undo history as a linear sequence of changes. +It's not. The `undo-tree-mode' provided by this package replaces Emacs' undo +system with a system that treats undo history as what it is: a branching tree +of changes. This simple idea allows the more intuitive behaviour of the +standard undo/redo system to be combined with the power of never losing any +history. An added side bonus is that undo history can in some cases be stored +more efficiently, allowing more changes to accumulate before Emacs starts +discarding history.") + (license license:gpl3+))) + (define-public emacs-s (package (name "emacs-s") -- I may be not subscribed. Please, keep me in carbon copy.