From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: Re: package.el dependencies Date: Mon, 02 Feb 2015 17:07:20 +0100 Message-ID: <87lhkgpa9z.fsf@gmail.com> References: <87wq4dpqib.fsf@gmail.com> <87wq44su8v.fsf@gmail.com> <877fw3789y.fsf@gmail.com> <874mr4sbfa.fsf@gmail.com> <87386os8mq.fsf@gmail.com> <87k3009w8z.fsf@gmail.com> <87iofk9vlj.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422893258 3673 80.91.229.3 (2 Feb 2015 16:07:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 2 Feb 2015 16:07:38 +0000 (UTC) Cc: Stefan Monnier , emacs-devel To: bruce.connor.am@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 02 17:07:37 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 1YIJXE-0008EQ-J4 for ged-emacs-devel@m.gmane.org; Mon, 02 Feb 2015 17:07:36 +0100 Original-Received: from localhost ([::1]:55270 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIJXD-0006Wd-Oc for ged-emacs-devel@m.gmane.org; Mon, 02 Feb 2015 11:07:35 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59702) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIJXA-0006WX-W2 for emacs-devel@gnu.org; Mon, 02 Feb 2015 11:07:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIJX5-0000Dm-GG for emacs-devel@gnu.org; Mon, 02 Feb 2015 11:07:32 -0500 Original-Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]:63498) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIJX5-0000DF-8A for emacs-devel@gnu.org; Mon, 02 Feb 2015 11:07:27 -0500 Original-Received: by mail-wi0-f175.google.com with SMTP id fb4so17943625wid.2 for ; Mon, 02 Feb 2015 08:07:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:to:cc:subject:in-reply-to:date:message-id :mime-version:content-type; bh=0y62Zl0zckGuMN1W4ossopd6JQaTp1GbkvsQwHkC9co=; b=tuHDknO6Egh2s3zaMc500xaPAvxK0bCx7/8o51yKr6PYoJ6Cul0Tg5NK5TwPcynfW6 tYpW+/E3a7Fg1nB+iqykqGTzqcfgBcpX8fsLFaY23oUT/NerQNjOrv/yWgzTG9CwD5z1 4GcZ4vDq0XxodP/Kl1g1jN9cHBdfkkoL+cEKtexQbWJg+7hCzOUjmwEA1Idz4j5csfp0 3cj+OiioYr11We2XHl/coq6QDkY0FK7iUBVIwPWpEfuLrxFctHwOReCXs7tw/97zbaIt PLB3zCtPDvM1H9xzLrGg4NUJTcLk72YV6h4KX6bFFDydqlCSgz1z4b9/mhNqm936Bhh8 ckkw== X-Received: by 10.194.159.103 with SMTP id xb7mr43578934wjb.106.1422893246559; Mon, 02 Feb 2015 08:07:26 -0800 (PST) Original-Received: from dell-14z ([37.163.229.5]) by mx.google.com with ESMTPSA id k1sm28496872wjn.9.2015.02.02.08.07.23 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 02 Feb 2015 08:07:25 -0800 (PST) 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::22f 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:182265 Archived-At: Artur Malabarba writes: > I think the snippet you suggest lists 1st and 2nd order dependencies. > It does not, in general, list all dependencies without duplicates. > >> Here the dependencies of the package "jedi": >> [...] >> As you can see all the dependencies are here and there is no duplicates. > > In this particular case, yes, but that's just a coincidence. What the > function is actually doing, is to return 1st and 2nd order > dependencies. > I explain below: > > 1st order dependencies >> (package--get-deps 'jedi 'direct) >> =>(epc auto-complete python-environment) > > 2nd order dependencies >> (package--get-deps 'epc 'direct) >> =>(concurrent ctable) >> (package--get-deps 'auto-complete 'direct) >> =>(popup) >> (package--get-deps 'python-environment 'direct) >> =>(deferred) > > 3rd order dependencies: >> (package--get-deps 'concurrent 'direct) >> =>(deferred) >> (package--get-deps 'ctable 'direct) >> =>nil > > Union of the 1st and 2nd order: >> (package--get-deps 'jedi) >> =>(epc auto-complete python-environment concurrent ctable popup deferred) > > 1. The only reason you don't get duplicates there, is because the > dependencies of the concurrent and ctable packages are not even being > looked at. > > 2. Similarly, the only reason you don't have omissions in the > resulting list, is because these two packages don't depend on anything > different from the other packages. If 'ctable or 'concurrent happened > to depend on X, then X would not show up on your returned list. Hmm, I will have a look at this more seriously, another thing: We have a bug about the initialization of package-selected-packages: bug#19745 On my side I have no error, but package-selected-packages is not feeded after package-initialize run. Using my own version of package-initialize where package-selected-packages is just setq'ed with the snippet I sent you, it is working as expected. It seems that for some reason customize-set-variable is not working at this time of loading, perhaps we should just use setq here ? -- Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997