el-get gets the proxy from `url-proxy-services` by
(cadr (assoc "http" url-proxy-services))
However, `url-proxy-services` is an alist which looks like
'(("http" . "hostname:portnumber') ...)
So using `cadr` is wrong. Replace it with `cdr`.
This commit closes dimitri#1615
Since emacswiki recipes might not have an explicit :url in their recipe,
the :compute-checksum method should fallback to the base url, like the
:install and :guess-website methods.
In particular I neglected the fact that I've introduced a conditional
which blocked package-refresh-contents from el-get-elpa-install in some
cases. Practically the smae bug which I attempted to fix, could have
been encountered if packages were installing in opposite order, whcich i
try to reflect in added variant of the test.
Several go related tools can be used within emacs, such as:
gocode, godef, goimports, golint, goflymake, etc.
The el-get-go method lets the 'go get' command take care of
downloading and building such tools. The main advantage is letting
go get take care of resolving dependecies and building the binary,
rather than wedging into the :build property.
Just adding "(require 'package)" to "el-get-elpa-package-directory"
fixes this bug, because by the time any elpa package is being installed
or fetched, package.el has to be available, so all we have to do is load
it if it hasn't already been loaded.
ELPA Package directories are named <package>-<version>. Previously
`el-get-elpa-package-directory' looked for package-dirs using
`all-completions' meaning anything starting with <package> would match.
This is problematic if a package is a prefix of another package, eg the
`s' and `solarized-theme' packages.
Instead of doing that, look for a directory that is precisely
<package>-<version> where <version> is something acceptable to
`version-to-list'.
Fixes#1189.
The package-install function calls some initalization functions from
within the interactive form. This can cause it to fail when called
non-interactively.
package-refresh-contents calls package-read-all-archive-contents so we
don't need to call it explicitly.
Fixes#1389
el-get-elpa-package-directory will not always return a real directory,
since two directories might have the same prefix (for example, erc
installs as `erc-5.3` but has a package name of `erc`. So
`try-completion` will return `erc-` if you have something
like `erc-image` installed.)
`all-completions` will return a list of actual directories which
satisfy the completion, and the `car` of this list will be the package
we want. `when realnames` will return `nil` when there are no possible
completions.
`package-desc-vers' is obsolete (replaced by `package-desc-version')
and `package-alist' has a different layout.
el-get-elpa also calls `el-get-rmdir' in some cases with
post-remove-fun as nil.
* methods/el-get-elpa.el (el-get-elpa-update-available-p): Use
`package-desc-version' if available.
* el-get-core.el (el-get-rmdir): Only call post-remove-fun if non-nil.
Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
This allows for nested repositories, otherwise `fossil open` fails and an attempt to reinstall will remove the parent `.fossil` file as well, breaking the repository.