[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
package.el: work correctly when dependency is "held" to `t'
From: |
Daniel Hackney |
Subject: |
package.el: work correctly when dependency is "held" to `t' |
Date: |
Sun, 26 Feb 2012 17:43:49 -0500 |
I just set up Emacs 24.0.93.1 on a new computer and was installing my
list of packages when I started getting "invalid element in
`package-load-list'" errors. All of my entries in `package-load-list'
are of the form `(pkg-name t)', meaning "install any version of
pkg-name". The problem lies in the sanity checks that
`package-compute-transaction' uses to determine whether it can install
the dependencies for a package.
Basically, it checks whether the "hold" value is `nil' (meaning it
shouldn't be installed at all), `stringp' (which specifies a required
version number), and that the held version is not less than the required
version. The problem is that it misses the case where "hold" is `t',
i.e. install any version. It should check whether "hold" is `t' and, if
so, skip over the rest of the checks of "hold".
This boils down to adding `((eq hold t))' to line 753, before
((eq hold nil)
(error "Required package '%s' is disabled"
(symbol-name next-pkg)))
--
Daniel M. Hackney
- package.el: work correctly when dependency is "held" to `t',
Daniel Hackney <=