Peter S Galbraith <[EMAIL PROTECTED]> writes: > - I'm adding /usr/share/emacs/site-lisp/ to the load-path so emacs can find > anything Debian packages put there.
Ah, it initially looked like `debian-startup' did this itself, but I guess that was artifact of my screwing around. > - I'm using (debian-startup 'emacs) and not (debian-startup 'emacs21) Since `debian-startup' adds "/etc/emacs/site-start.d" itself, the effect of using `emacs' instead of `emacs21' seems to be that it won't see emacs21-specific packages, which is wrong, since I'm in fact using emacs 21. > > certainly above doesn't seem to address the problem I noted (the > > wierd-ass use of `if'). > > http://bugs.debian.org/116126 That's an entirely different bug. The problem is this code (from /usr/share/emacs/site-lisp/debian-startup.el): (defun debian-startup (flavor) (if (not (boundp 'debian-emacs-flavor)) (defconst debian-emacs-flavor flavor "A symbol representing the particular debian flavor of emacs that's running. Something like 'emacs20, 'xemacs20, etc.") (let ((common-dir "/etc/emacs/site-start.d") (flavor-dir (concat "/etc/" (symbol-name flavor) "/site-start.d"))) (debian-run-directories flavor-dir common-dir)))) If you call `debian-startup' once, it will call defconst to define `debian-emacs-flavor', but it _won't_ call `debian-run-directories', so nothing actually gets initialized. To get it to intialize things properly, I have to call `debian-startup' twice (the second time, it will see that `debian-emacs-flavor' is defined, and execute the rest of the `if'). This is why I'm surprised that it works for you, and I wonder _how_ it works for you. Is your copy of debian-startup.el different? -Miles -- `The suburb is an obsolete and contradictory form of human settlement'