unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: "M-x guix" - magit-like interface for guix commands
Date: Sun, 30 Aug 2015 12:35:30 +0300	[thread overview]
Message-ID: <87h9nh9l0d.fsf@gmail.com> (raw)
In-Reply-To: 874mjiozgv.fsf@gnu.org

Ludovic Courtès (2015-08-29 19:01 +0300) wrote:

> Alex Kost <alezost@gmail.com> skribis:
>
>> Ludovic Courtès (2015-08-28 12:37 +0300) wrote:
>
> [...]
>
>>> Of course, you’re effectively the maintainer of that part.
>>
>> OK, but I also made some changes outside "emacs" dir:
>
> Right, thanks for the heads-up then.  ;-)
>
>> - I exported stuff from (guix scripts lint) and (guix scripts graph):
>>   so that when a user choose "--checkers" option for 'guix lint' or
>
> Regarding:
>
>   Author:     Alex Kost <alezost@gmail.com>
>   AuthorDate: Wed Aug 12 14:17:44 2015 +0300
>   Commit:     Alex Kost <alezost@gmail.com>
>   CommitDate: Fri Aug 28 23:03:58 2015 +0300
>
>       guix lint: Export checkers and <lint-checker> accessors.
>
>       * guix/scripts/lint.scm (%checkers, make-lint-checker, lint-checker,
>         lint-checker?, lint-checker-name, lint-checker-description,
>         lint-checker-check): Export.
>
> This is fine, but please don’t export ‘make-lint-checker’ (people should
> use the nicer ‘lint-checker’ macro instead.)

Fixed (both for ‘make-lint-checker’ and ‘make-node-type’).

>> - I moved emacs info node from "Package Management" to "Top" because it
>>   is not just about package management anymore (as there are
>>   "guix-prettify" and shell completions, and now there is also popup
>>   interface for all guix commands).
>
> Regarding:
>
>   Author:     Alex Kost <alezost@gmail.com>
>   AuthorDate: Thu Aug 13 20:16:29 2015 +0300
>   Commit:     Alex Kost <alezost@gmail.com>
>   CommitDate: Fri Aug 28 23:03:59 2015 +0300
>
>       doc: Reorganize "Emacs Interface" node.
>
>       * doc/guix.texi (Package Management): Move "Emacs Interface" node to ...
>         (Top): ...here, since it is not just about package management.
>       * doc/emacs.texi: Shift all nodes one level up (@section -> @chapter, etc.).
>         Rename "Emacs Usage" node into "Emacs Package Management".  Move "Emacs
>         Configuration" node here.
>
> It sounds good to me.  Perhaps add something like this in this commit:
>
>
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -972,9 +972,9 @@ features.
>  
>  This chapter describes the main features of Guix, as well as the package
>  management tools it provides.  Two user interfaces are provided for
> -routine package management tasks: a command-line interface
> -(@pxref{Invoking guix package, @code{guix package}}), and a visual user
> -interface in Emacs (@pxref{Emacs Interface}).
> +routine package management tasks: A command-line interface described below
> +(@pxref{Invoking guix package, @code{guix package}}), as well as a visual user
> +interface in Emacs described in a subsequent chapter (@pxref{Emacs Interface}).
>  
>  @menu
>  * Features::                    How Guix will make your life brighter.

Sure.

>> - And finally I moved a part of code from 'guix-main' to a new
>>   'run-guix' procedure (in (guix ui) module).
>
> Regarding:
>
>   Author:     Alex Kost <alezost@gmail.com>
>   AuthorDate: Sun Aug 16 10:28:04 2015 +0300
>   Commit:     Alex Kost <alezost@gmail.com>
>   CommitDate: Fri Aug 28 23:03:59 2015 +0300
>
>       ui: Add 'run-guix'.
>
>       * guix/ui.scm (guix-main): Move the code to run guix command line to ...
>         (run-guix): ...here.  New procedure.  Export it.
>
>
> [...]
>
>   +(define (run-guix . args)
>   +  "Run guix command defined by command line ARGS."
>
> Missing “the” (“Run the 'guix' command”.)  Also please add something
> like, “Unlike ‘guix-main’, this procedure assumes that locale, i18n
> support, and signal handling has already been set up.”

Done.

>> As for the emacs part: many long options don't have short analogs, so I
>> chose keys (for popup windows) that seem appropriate for me, but they
>> may not be good defaults for others.  The same thing with guix commands.
>> For example, I chose "p" for "package", "P" for "pull" and "u" for
>> "publish"; or "s" for "system" and "z" for "size", etc.  But maybe it is
>> OK for now, and may be fixed later, if people will complain about
>> strange popup keys, WDYT?
>
> At first sight that looks good to me, because it uses the first letter
> of the most common commands (‘package’ vs. ‘pull’, ‘system’ vs. ‘size’,
> etc.)  But we can always adjust them later if needed.

OK, that was my thought as well.

>> Also perhaps there are too many auxiliary commits (add this, add that),
>> not sure if it's acceptable.
>
> That’s OK.
>
> Besides, this commit:
>
>   References: wip-emacs-popup-ui origin/wip-emacs-popup-ui
>   Author:     Alex Kost <alezost@gmail.com>
>   AuthorDate: Tue Aug 18 11:32:42 2015 +0300
>   Commit:     Alex Kost <alezost@gmail.com>
>   CommitDate: Fri Aug 28 23:04:00 2015 +0300
>
>       emacs: Use popup interface instead 'guix-pull' command.
>
>       * emacs/guix-base.el (guix-pull): Remove.
>       * doc/emacs.texi (Emacs Commands): Adjust accordingly.
>       * emacs/guix-main.scm: Do not use (guix scripts pull) module.
>
> removes M-x guix-pull.  But that means that people who don’t have
> magit-popup no longer have a way to run that command, which I’d like to
> avoid.
>
> Is it possible to keep it?

Yes, I just didn't like it; but OK, I'll leave it.

>> Yes, I think so.  I have rebased "wip-emacs-popup-ui" branch on master
>> and made some final tweaks.  So this is the last warning! :-) If you
>> still don't have comments/notes, I'm ready to push these commits.
>
> Well thanks for insisting, now you have a bunch of actions to take.  ;-)

Thank you for checking!  I have fixed everything you noted locally.
So should I update wip-emacs-popup-ui branch now or push these commits
to master or maybe send the patches to ML?

-- 
Alex

  reply	other threads:[~2015-08-30  9:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14  8:19 "M-x guix" - magit-like interface for guix commands Alex Kost
2015-08-14 14:40 ` Thompson, David
2015-08-15 15:29   ` Alex Kost
2015-08-25 21:12     ` Ludovic Courtès
2015-08-26 11:35       ` Alex Kost
2015-08-25 21:14 ` Ludovic Courtès
2015-08-26 11:05   ` Alex Kost
2015-08-28  9:37     ` Ludovic Courtès
2015-08-28 20:08       ` Alex Kost
2015-08-29 16:01         ` Ludovic Courtès
2015-08-30  9:35           ` Alex Kost [this message]
2015-08-30 11:48             ` Ludovic Courtès
2015-08-30 15:28               ` Alex Kost

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=87h9nh9l0d.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@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).