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 via email to