[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