all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] emacs: Support auto-updating after performing REPL operation.
Date: Wed, 15 Oct 2014 21:32:31 +0200	[thread overview]
Message-ID: <871tq9yvqo.fsf@gnu.org> (raw)
In-Reply-To: <87zjcxalqf.fsf@gmail.com> (Alex Kost's message of "Wed, 15 Oct 2014 10:30:16 +0400")

Alex Kost <alezost@gmail.com> skribis:

> Ludovic Courtès (2014-10-14 23:17 +0400) wrote:
>
>> Alex Kost <alezost@gmail.com> skribis:
>>
>>> Currently when a user performs some REPL operation using Emacs UI –
>>> e.g. installs a package from *Guix Package Info* buffer, information in
>>> that buffer stays the same, and he needs to press "g" there to revert
>>> the buffer.
>>
>> By “information in the buffer”, what do you have in mind?  There’s
>> highlighting of installed packages, and marks.  Am I missing something?
>>
>> Pressing ‘g’ removes marks and updates highlighting.
>
> "Installed" column is also being changed.  And in the list of installed
> packages, deleted packages disappear (I mean if you delete some packages
> and press "g" there).  As for *Guix Package Info* buffer, there are many
> differences between installed and not-installed packages.
>
> I have in mind that all data will be updated.  Here is what revert
> (pressing "g") does in a Guix buffer:
>
> - the existing data is erased (using ‘erase-buffer’);
> - information about packages/generations is received again;
> - it is inserted in the buffer.

OK.

> I used to update information manually (before this change) and I think
> that such auto-updating is natural and is exactly what a user expects.
> Don't you agree?

I do!  (I even wondered if the Boolean to turn it off was necessary.)

>> What if the operation fails?  For instance, you carefully select a bunch
>> of packages to install, and then the operation fails because of some
>> transient networking error, say.  In such a case, the *Guix Package
>> Info* buffer should *not* be updated IMO, because that would mean losing
>> all the marks for no reason.
>
> Auto-updating happens only if a REPL operation was successful.  When a
> debugger prompt is entered (for example when a user interrupts the
> process with "C-c C-c"), buffers are not updated, so the marks will not
> be lost.

Perfect.

> Thanks for asking, it led me to the idea that if a package operation was
> "dry-run", then auto-updating shouldn't be performed as no changes were
> made.  I'll adjust the commit for this case (assuming that you agree
> with that :-))

Yes, agreed.

Ludo’.

  reply	other threads:[~2014-10-15 19:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-14 17:45 [PATCH] emacs: Support auto-updating after performing REPL operation Alex Kost
2014-10-14 19:17 ` Ludovic Courtès
2014-10-15  6:30   ` Alex Kost
2014-10-15 19:32     ` Ludovic Courtès [this message]
2014-10-15 19:34     ` Ludovic Courtès
2014-10-14 19:22 ` Ludovic Courtès
2014-10-15  6:30   ` Alex Kost
2014-10-15 19:33     ` 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871tq9yvqo.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=alezost@gmail.com \
    --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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.