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 debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to