Miles, Actually, I pasted in the old stuff in my reply. Sorry. I knew I had changed it, but I had done that at work, and not on my home system (I'm now using the Debian package, so that's why everything worked). Here's what really works:
(cond ((equal emacs-major-version '21) (add-to-list 'load-path "/usr/share/emacs/site-lisp/") (defconst debian-emacs-flavor 'emacs "A symbol representing the particular debian flavor of emacs that's running. Something like 'emacs20, 'xemacs20, etc.") (load "debian-startup") (debian-startup 'emacs))) > > - 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. But there no byte-compilations for emacs21, so what's the point of trying to add them? > > > 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. Yes it is. Sorry. I misunderstood. > 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'). Which is why I define the defconst before loading it. I don't understand why the setup is like this either. Peter