unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: KAction@gnu.org
To: guix-devel@gnu.org
Cc: Dmitry Bogatov <KAction@gnu.org>
Subject: [PATCH] gnu: Add emacs-undo-tree.
Date: Sun, 27 Dec 2015 19:58:35 +0300	[thread overview]
Message-ID: <1451235515-20440-1-git-send-email-KAction@gnu.org> (raw)

From: Dmitry Bogatov <KAction@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..55717ff 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+)))
 
+(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")))
+              (file-name (string-append name "-" version "-checkout"))
+              (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 @code{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.

             reply	other threads:[~2015-12-27 16:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-27 16:58 KAction [this message]
2015-12-30 16:15 ` [PATCH] gnu: Add emacs-undo-tree Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2015-12-30 18:06 KAction
2016-01-04 23:31 ` Ludovic Courtès
2015-12-26 23:06 [PATCH] gnu: add emacs-undo-tree KAction
2015-12-27 14:00 ` Alex Kost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1451235515-20440-1-git-send-email-KAction@gnu.org \
    --to=kaction@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).