guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: add emacs-undo-tree


From: Alex Kost
Subject: Re: [PATCH] gnu: add emacs-undo-tree
Date: Sun, 27 Dec 2015 17:00:54 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

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 <address@hidden>
>
>   * 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]