From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Async package.el Date: Wed, 08 Apr 2015 04:49:09 +0300 Message-ID: <55248915.5070707@yandex.ru> References: <55228FD2.3080501@yandex.ru> <552330A2.1090406@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1428457767 15867 80.91.229.3 (8 Apr 2015 01:49:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 8 Apr 2015 01:49:27 +0000 (UTC) Cc: bruce.connor.am@gmail.com, emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 08 03:49:22 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Yff7J-0000Qz-P8 for ged-emacs-devel@m.gmane.org; Wed, 08 Apr 2015 03:49:21 +0200 Original-Received: from localhost ([::1]:50051 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yff7J-0000TR-9p for ged-emacs-devel@m.gmane.org; Tue, 07 Apr 2015 21:49:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yff7F-0000TA-Ej for emacs-devel@gnu.org; Tue, 07 Apr 2015 21:49:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yff7A-0007yv-Ej for emacs-devel@gnu.org; Tue, 07 Apr 2015 21:49:17 -0400 Original-Received: from mail-wi0-x231.google.com ([2a00:1450:400c:c05::231]:36326) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yff7A-0007xG-6j for emacs-devel@gnu.org; Tue, 07 Apr 2015 21:49:12 -0400 Original-Received: by wizk4 with SMTP id k4so37776420wiz.1 for ; Tue, 07 Apr 2015 18:49:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=81Ake5DjQQkhJGGfDmNQKtu9BBWzFQkoiNT+/BDo3dE=; b=l01D4CU4plxZeJSF+LOiaNfSsqcDPfYQs+wPdDuIsNp/i/MfYIdcbNJkyEfVz2RS2F ZawTb2zHHufyNSWmXjQ6gPDtSvOgpA2noHGz9iinVtIFwdLnvJ0MkrnDbwoBz9321mTS 6beor79G53oJpk1r/BE7HHzAymReezLrIjyml/Di3F0wy2Z59Ck8ZuAoTIckoCv+pNO5 ntes1EhbXp/4rry3IBvX9haedB9iqsc5PUcyda/akT+Dc0dfYeF44XX6gUSUR3gELoWy V9ay0xnOFrDwsZ6jzLUPmvSpdoB2BMT/kDQsa5IZ/nH6WnS47Yxqx31HL7Y/mdQpQLOB sB4Q== X-Received: by 10.180.211.2 with SMTP id my2mr9521820wic.78.1428457751318; Tue, 07 Apr 2015 18:49:11 -0700 (PDT) Original-Received: from [192.168.1.3] ([82.102.93.54]) by mx.google.com with ESMTPSA id go4sm7162258wib.1.2015.04.07.18.49.10 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Apr 2015 18:49:10 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:185124 Archived-At: 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.