unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: KAction@gnu.org
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: add emacs-undo-tree
Date: Sun, 27 Dec 2015 17:00:54 +0300	[thread overview]
Message-ID: <87k2o02dpl.fsf@gmail.com> (raw)
In-Reply-To: <1451171190-27032-1-git-send-email-KAction@gnu.org> (KAction@gnu.org's message of "Sun, 27 Dec 2015 02:06:30 +0300")

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

  reply	other threads:[~2015-12-27 14:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-26 23:06 [PATCH] gnu: add emacs-undo-tree KAction
2015-12-27 14:00 ` Alex Kost [this message]
  -- 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

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=87k2o02dpl.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=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).