GNU bug report logs - #15235
24.3.50; package.el updates load-path too late

Previous Next

Package: emacs;

Reported by: emacs18 <at> gmail.com

Date: Sun, 1 Sep 2013 16:47:02 UTC

Severity: normal

Merged with 15272, 15523

Found in version 24.3.50

Done: Noam Postavsky <npostavs <at> users.sourceforge.net>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Richard Kim <emacs18 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 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?




This bug report was last modified 9 years and 18 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.