unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Rob Browning <rlb@defaultvalue.org>
Cc: guile-devel <guile-devel@gnu.org>
Subject: Re: The load path
Date: Fri, 05 Nov 2004 10:43:58 -0600	[thread overview]
Message-ID: <87vfck4569.fsf@trouble.defaultvalue.org> (raw)
In-Reply-To: <m37jp01fob.fsf@multivac.cwru.edu> (Paul Jarc's message of "Fri, 05 Nov 2004 10:25:02 -0500")

prj@po.cwru.edu (Paul Jarc) writes:

> I like this idea.  But there should probably be a command-line
> switch to disable loading these files.  For a parallel example with
> Emacs, sometimes there is a site installation of Gnus, and the site
> init files load part of Gnus, but the user may have their own newer
> copy of Gnus that they want to use.  So they should be able to (and
> with Emacs, they can) disable the normal loading of the site init
> files, and then explicitly load them from their personal init file
> after they've made the necessary load-path changes.

Hmm.  We were thinking of having guile load from
${sysconfdir}/guile-X.Y/init.d/.  If the local version isn't installed
in the same place as the site installation, then it wouldn't try to
load the site's files by default.  However, if you did want it to load
them, you could just create a symlink to init.d, or make the init call
yourself.

Even so, perhaps a "--site-files DIR" option might be worth
considering.

> I'm not sure the two-digit requirement will be useful.  Independent
> packages won't know about each other, so they have no way to guess
> the right order for their init files to be loaded in.  They should
> aim for order-independence.  Then if it turns out there are ordering
> problems, the admin can create earlier-named symlinks that fall in
> the right order, and Guile can say "I've seen this device+inode
> before, I won't load it again".

(minor note: I had been thinking of one or more digits.)

We were modeling this after the normal sysvinit and Debian emacsen
approach.  i.e. /etc/rcS.d/ and /etc/emacs/site-start.d/.  Using
NUMBERname makes it very easy to predict what's going to happen.  With
the device+inode+visited-table approach, you can't easily tell what's
going to happen just by looking at the directory.

On the other hand, I can see the concern that the NUMBERname approach
is perhaps best suited for a situation where you have centralized
organization (i.e. a distribution).

We probably need a bit of further consideration here.

As background, one of the original reasons for our proposed changes is
to provide a standard place for distributions to put add-on package
files (a la emacs/site-start.d/).  The fact that this also lets us
move the site initialization file (init.scm) to /etc/ (by reserving
N*site-local.scm) is an added benefit that fixes a violation of the
FHS.

> That check would also let packages' init files load other init files
> they depend on, which solves the ordering problem automatically,
> without having to guess numbers.

That might argue for a use-modules or require/provide style solution,
though if appropriate, we'd want a modified one that only looks in the
init.d dir so that startup files can't be confused with files in other
packages (i.e. don't use load-path).

-- 
Rob Browning
rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2004-11-05 16:43 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-16 17:52 The load path Andy Wingo
2004-10-17 19:40 ` Rob Browning
2004-10-17 23:13 ` Greg Troxel
2004-11-05 15:05 ` Marius Vollmer
2004-11-05 15:25   ` Paul Jarc
2004-11-05 16:43     ` Rob Browning [this message]
2004-11-05 17:43       ` Paul Jarc
2004-11-05 18:59         ` Rob Browning
2004-11-05 19:22           ` Paul Jarc
2004-11-05 22:05             ` Rob Browning
2004-11-06  7:25               ` Paul Jarc
2004-11-06 16:19                 ` Rob Browning
2004-11-06 22:58                   ` Rob Browning
2004-11-05 16:15   ` Rob Browning
2004-11-05 17:31   ` Andreas Rottmann
2004-11-05 18:57     ` Greg Troxel
2004-11-05 19:07     ` Rob Browning
2004-11-05 19:19   ` Greg Troxel
2004-11-05 23:53     ` Neil Jerram
2004-11-06  4:54       ` Rob Browning
2004-11-06 14:38         ` Andreas Vögele
2004-11-06 17:49         ` Neil Jerram
2004-11-06 21:21           ` Rob Browning
2004-11-07 18:46             ` Neil Jerram
2004-11-07 21:16               ` Rob Browning
2004-11-09 15:22               ` Paul Jarc
2004-11-10 18:43           ` Andy Wingo
2004-11-11 13:23             ` Greg Troxel
2004-11-12 21:31             ` Neil Jerram
2004-11-13  0:22               ` Greg Troxel
2004-11-13  1:08                 ` Rob Browning
2004-11-13 16:12                   ` Greg Troxel
2004-11-14 11:02                     ` Neil Jerram
2004-11-14 14:05                       ` Greg Troxel
2004-11-18 19:44                         ` Neil Jerram
2004-11-19 14:46                           ` Greg Troxel
2004-11-14 10:48                   ` Neil Jerram
2004-11-15 16:43                     ` Andy Wingo
2004-11-18 19:54                       ` Neil Jerram

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87vfck4569.fsf@trouble.defaultvalue.org \
    --to=rlb@defaultvalue.org \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).