Hi, I'm trying to make my self-compiled emacs fit into the debian emacs framework. I tried to use the method suggested by Peter Galbraith:
(load "/usr/share/emacs/site-lisp/debian-startup") (debian-startup 'emacs21) But this doesn't work; the reason seems to the fairly bizarre definition of `debian-startup'; here's the body of that function: (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))) Note that if `debian-emacs-flavor' is not defined (presumably the normal case), then it will be defined -- but that's all! The `meat' of the function doesn't get run in that case; it's as if the author of debian-startup thought that `if' executed all its body forms when the condition was true. I can work around this by calling debian-startup twice, like: (load "/usr/share/emacs/site-lisp/debian-startup") (debian-startup 'emacs21) (debian-startup 'emacs21) But that's rather bizarre, and I wonder what's the deal with this. Is there a bug in `debian-startup', or does it work for real debian emacs packages in some bizarre and counter-intuitive way? Thanks, -Miles p.s. Another question I have is: why does `debian-run-directories' use `load-file' instead of `load' when debug-on-error is true? It seems guaranteed to always fail, since load-file doesn't use the load-path. -- Would you like fries with that?