emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: package.el dependencies


From: Thierry Volpiatto
Subject: Re: package.el dependencies
Date: Mon, 02 Feb 2015 17:07:20 +0100

Artur Malabarba <address@hidden> 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 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]