Debian JED startup scheme
=========================

JED on Debian has a startup scheme that will help packages providing add-on
support to get their code automatically loaded in a site-wide manner.

Config Directory
----------------

Instead of a config file, we use a config directory: At startup, JED will
evaluate all "*.sl" scripts in /etc/jed.d/:

* The files will be parsed in alphabetical order, i.e. files whose name
  starts with "00" will be loaded first and with "99" last.

* Evalutation of /etc/jed.d/ can be suppressed by the --skip-debian-startup
  command line option.

* /etc/jed.d/ is not evaluated if Jed is started as `jed-script`.

  If a script depends on the Debian configuration, it can call the function
  debian_startup() defined in defaults.sl.

* Files in /etc/jed.d/ are configuration files. The system administrator can
  modify them or add scripts for site-wide Jed configuration.

* Every package has the right to place files into /etc/jed.d/.
  Use names like NN<name>.sl (where "NN" is a two-digit number).
  (See Debian-Jed-Policy.txt for details).

Start-up Files
-------------

The order of evaluating the JED config settings is thus as follows:

1) /usr/share/jed/lib/site.sl     % upstream basic setup that also triggers
   				  % all further evaluations

2) /usr/share/jed/lib/defaults.sl % Debian provided code for evaluation of
                                  % the "jed.d" directory contents, defines
				  % and calls the function debian_startup().
				  
%  no call to /etc/jed.conf

3) /etc/jed.d/*.sl                % package configuration files

4) ~/.jed/jed.rc or ~/.jedrc      % user config file,
                                  % skipped if it does not exist or with
				  % the -n command line option.

5) _Jed_Default_Emulation         % fallback key-bindings file 
   				  % skipped if jed.rc loads an emulation, i.e.
				  % if (_Jed_Emulation != NULL)
				  % default is "emacs".

6) _Jed_Default_Color_Scheme      % colour settings
   				  % skipped jed.rc loads a colour scheme, i.e.
				  if (_Jed_Color_Scheme != NULL)

7) command_line_options           % -l FILE loads FILE as S-Lang code.

After that, files given on the command line are loaded into a buffer (each)
which may trigger evaluation of more S-Lang files providing the editing mode.

All evaluated files might call other S-Lang files either directly
(evalfile(), require(), set_color_scheme()) or at a later stage (autoload()).


-- Rafael Laboissiere <rafael@debian.org> Thu Oct 21 18:28:39 CEST 1999
-- Updated by Charl P. Botha <cpbotha@debian.org> Sun Jun 3 02:14:58 CEST 2001
-- and again by cpbotha with Rafael's new scheme Tue Nov 13 22:00:49 CET 2001
-- updated by G. Milde, 2006-05-16, 2008-02-21, 2008-11-10

Last update 2008-11-10 Guenter Milde

