[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 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

reply via email to

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