|
From: | Dmitry Gutov |
Subject: | Re: Async package.el |
Date: | Wed, 08 Apr 2015 04:49:09 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 |
On 04/08/2015 12:46 AM, Stefan Monnier wrote:
I strongly disagree.
I'm not sure you actually do. By "interface", I mean how the user works with it, not whether we use asynchronous calls under the hood (which, with care, usually can improve the user experience).
While doing it in parallel is great, refreshing the table of packages right under the user's nose is bound to create problems.PCL-CVS and VC-Dir have been doing the same for years with great success. It shouldn't cause problems. But indeed, to make it work well requires extra care.
I haven't used PCL-CVS, but VC-Dir is a good counter-example: while it's refreshed asynchronously, we don't really expect the user to do much while that happens, other than maybe look at the output. It's just nicer to have a responsive Emacs during this operation (which could be long in certain cases).
And when vc-dir buffer is initially displayed, we don't have any "stale" data about the repository. First the data is fetched (though asynchronously), then the user can interact with it.
- Wait until the user invokes `M-x list-packages' to update it. We could do it while Emacs is idle.I suspect you mean to add a "Don't" at the very beginning. It'd be
I kinda did, implicitly (the last sentence before the list ended with "we don't have to"). Admittedly, it's awkward wording.
acceptable to add such a (mis)feature, but it should very clearly be OFF by default, since we don't want Emacs to "call home" in such a way by default.
Fair enough. I'm also more partial to the option 1 (only refresh once a day), because it's more predictable, but the above would be closer to how other systems and applications look for updates (in the background, without bothering the user), so it should be something to consider.
[Prev in Thread] | Current Thread | [Next in Thread] |