[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian-startup.el question



Peter S Galbraith <p.galbraith@globetrotter.net> 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'



Reply to: