debian-startup.el question
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?
Reply to: