From mboxrd@z Thu Jan 1 00:00:00 1970 From: KAction@gnu.org Subject: [PATCH] gnu: add emacs-undo-tree Date: Sun, 27 Dec 2015 02:06:30 +0300 Message-ID: <1451171190-27032-1-git-send-email-KAction@gnu.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58596) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCxvG-0003Sv-VK for guix-devel@gnu.org; Sat, 26 Dec 2015 18:06:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aCxvC-0007ar-UP for guix-devel@gnu.org; Sat, 26 Dec 2015 18:06:50 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58475) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCxvC-0007al-Qw for guix-devel@gnu.org; Sat, 26 Dec 2015 18:06:46 -0500 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Cc: Dmitry Bogatov From: Dmitry Bogatov * 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.