[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15235: 24.3.50; package.el updates load-path too late
From: |
Richard Kim |
Subject: |
bug#15235: 24.3.50; package.el updates load-path too late |
Date: |
Sun, 01 Sep 2013 09:45:53 -0700 |
A recent change made on bzr trunk is causing one of my ELPA packages to
fail to load due to `load-path' not being updated promptly.
The change in question seems to be Stefan's revision 114047 checked in
on Aug 28, 2013 with check in comment
Don't add unnecessarily to load-path.
The package in question is icicles which I created by putting together a
few files from emacswiki.org which I have been using for several years.
The problem is that icicles-autoloads.el refers to some custom face
which is provided by icicles-face.el in the icicles package directory.
However Stefan's change now evaluates icicles-autoloads.el first then
updates load-path to add path for icicles. Following shows
`package-activate-1' from around August 24:
(defun package-activate-1 (pkg-desc)
(let* ((name (package-desc-name pkg-desc))
(pkg-dir (package-desc-dir pkg-desc)))
(unless pkg-dir
(error "Internal error: unable to find directory for `%s'"
(package-desc-full-name pkg-desc)))
;; Add info node.
(when (file-exists-p (expand-file-name "dir" pkg-dir))
;; FIXME: not the friendliest, but simple.
(require 'info)
(info-initialize)
(push pkg-dir Info-directory-list))
;; Add to load path, add autoloads, and activate the package.
(push pkg-dir load-path)
(load (expand-file-name (format "%s-autoloads" name) pkg-dir) nil t)
(push name package-activated-list)
;; Don't return nil.
t))
Note that (load) of the "-autolads" file comes after updating of
load-path, i.e., (push pkg-dir load-path). Thus icicles-face.el can be
found in this version of package.el.
Shouldn't load-path updated first for the packge being intialized so
that code in "*-autoloads.el" can load other elisp files in the package
directory?