unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: add emacs-undo-tree
@ 2015-12-26 23:06 KAction
  2015-12-27 14:00 ` Alex Kost
  0 siblings, 1 reply; 6+ messages in thread
From: KAction @ 2015-12-26 23:06 UTC (permalink / raw)
  To: guix-devel; +Cc: Dmitry Bogatov

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..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.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: add emacs-undo-tree
  2015-12-26 23:06 [PATCH] gnu: add emacs-undo-tree KAction
@ 2015-12-27 14:00 ` Alex Kost
  0 siblings, 0 replies; 6+ messages in thread
From: Alex Kost @ 2015-12-27 14:00 UTC (permalink / raw)
  To: KAction; +Cc: guix-devel

Hello and thanks for contributing!

A nitpick for the commit message.  It should be:

   gnu: Add emacs-undo-tree.

(capital "Add" and a period in the end)

> From: Dmitry Bogatov <KAction@gnu.org>
>
>   * gnu/packages/emacs.scm (emacs-undo-tree): New variable
Also a period here -----------------------------------------^

> ---
>  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.
   ;; and web-site, pkgname refers to 0.6.4.

Typos ^^^^^^, also what is "pkgname"?  Just a "package name" or
something specific?

Actually, I think this commentary is not needed (besides I see no sign
of 0.6.6 in the resulting "undo-tree.el" file – only 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")))

I'm not sure if we need to use git-fetch method, since there is
<http://www.dr-qubit.org/undo-tree/undo-tree-0.6.4.el>.

However, currently emacs-build-system cannot be used for packages that
consist only of a single "*.el" file, and the recipes for such packages
are more complicated (see, for example, "emacs-let-alist" package).  So
I think using git-fetch is OK here.  What do people think?

Also you need to add a line like this:

                 (file-name (string-append name "-" version "-checkout"))

to 'origin'.  Otherwise the resulting name of a store directory will be:

  /gnu/store/…-git-checkout

while it is more pleasant to have:

  /gnu/store/…-emacs-undo-tree-0.6.4-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")
> +
^^^^ No need for the empty line after synopsis.

> +    (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

We use texinfo markup for package descriptions, so it's better to use
@code{undo-tree-mode} instead of `undo-tree-mode'.

> +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.")

I realize that you take it from "undo-tree.el", but I think this
description is too long, I would reduce it a bit (but maybe it's ok).
Also our convention is to use 2 spaces between sentences (as reported by
'guix lint emacs-undo-tree').

-- 
Alex

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] gnu: Add emacs-undo-tree.
@ 2015-12-27 16:58 KAction
  2015-12-30 16:15 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: KAction @ 2015-12-27 16:58 UTC (permalink / raw)
  To: guix-devel; +Cc: Dmitry Bogatov

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.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add emacs-undo-tree.
  2015-12-27 16:58 [PATCH] gnu: Add emacs-undo-tree KAction
@ 2015-12-30 16:15 ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2015-12-30 16:15 UTC (permalink / raw)
  To: KAction; +Cc: guix-devel

KAction@gnu.org skribis:

> From: Dmitry Bogatov <KAction@gnu.org>
>
>   * gnu/packages/emacs.scm (emacs-undo-tree): New variable.
 ^^^
Extra space here.

> +    (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.")

Could you strip the description so that it’s at most 8 lines?

Otherwise LGTM.

Thanks, and sorry for the delay!

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] gnu: Add emacs-undo-tree.
@ 2015-12-30 18:06 KAction
  2016-01-04 23:31 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: KAction @ 2015-12-30 18:06 UTC (permalink / raw)
  To: guix-devel; +Cc: Dmitry Bogatov

From: Dmitry Bogatov <KAction@gnu.org>

 * gnu/packages/emacs.scm (emacs-undo-tree): New variable.
---
 gnu/packages/emacs.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7d95f55..53d8132 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1007,6 +1007,27 @@ 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 "Tree-like interface to Emacs undo system, providing
+graphical tree presentation of all previous states of buffer that
+allows easily move between them.")
+    (license license:gpl3+)))
+
 (define-public emacs-s
   (package
     (name "emacs-s")
-- 
I may be not subscribed. Please, keep me in carbon copy.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] gnu: Add emacs-undo-tree.
  2015-12-30 18:06 KAction
@ 2016-01-04 23:31 ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2016-01-04 23:31 UTC (permalink / raw)
  To: KAction; +Cc: guix-devel

KAction@gnu.org skribis:

> From: Dmitry Bogatov <KAction@gnu.org>
>
>  * gnu/packages/emacs.scm (emacs-undo-tree): New variable.

Applied, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-01-04 23:31 UTC | newest]

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

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).