Package: emacsen-common
Version: 2.0.3
Severity: serious
Hi,
the line
(setq load-path (append add-on-package-paths old-load-path))))))
in debian-run-directories in debian-startup.el puts directories
which packages have been added to load-path with
debian-pkg-add-load-path-item at the head of load-path, _before_
the "/usr/local" entries in load-path. This makes the requirement
in the Debian Emacs policy
Emacs add-on packages may not modify load-path directly. They must
use (debian-pkg-add-load-path-item <path>). This function will
make sure that their additions end up in the right place -- before
the emacs system directories, but after the /usr/local/
directories.
an absurdity.
Even worse, packages that work fine may break when they switch to
use debian-pkg-add-load-path-item, because the order in the
load-path is wrong.
For an example, consider coq and proofgeneral and assume both
packages solely use debian-pkg-add-load-path-item (which is not
the case right now). coq installs 50coq.el, which adds
/usr/share/emacs23/site-lisp/coq to load-path. The reorder bug in
debian-startup actually causes a (non-fatal) problem during
proofgeneral installation, which I am not going to explain here.
When proofgeneral is installed it installs 50proofgeneral.el,
which adds site-lisp/proofgeneral/{generic,lib} to load-path.
When you now start emacs you see all these directories at the
head of load-path, before /usr/local items. When you now open a
coq file, say x.v, Proof General loads its Coq incarnation and
adds site-lisp/proofgeneral/coq to load-path. This will now be
added after /usr/local items and appear far after site-lisp/coq.
"(require 'coq)" therefore loads site-lisp/coq/coq.el instead of
site-lisp/proofgeneral/coq/coq.el and Proof General is completely
broken.
(Yes, Coq and Proof General should not use the same Emacs feature
name for different packages. I am trying to solve this upstream,
see http://lists.inf.ed.ac.uk/pipermail/proofgeneral-devel/2012/000241.html)
Kevin, you filed quite a lot reports about
debian-pkg-add-load-path-item. Would you add a note to all of
them, telling the maintainers that their package may break when
they switch to debian-pkg-add-load-path-item? It took me several
hours to track down this issue, maybe you can one of them save
the hassle.
Bye,
Hendrik Tews
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-2-686-pae (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]