This is the mail archive of the guile@cygnus.com mailing list for the guile project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Unfortunately, neither `~/.guile', nor the concept of an init file, is
documented at all; and `use-modules' is documented only sketchily.
Here's some background:
I often use functions from `slib', and so a long time ago I created a
file named `~/.guile', which contained
(use-modules (ice-9 slib))
(I also put a symbolic link named `slib', pointing to `/usr/lib/slib',
in the `share/guile/1.3.1' directory).
That allowed me to put (at the top of a scheme file), for example
(require 'pretty-print)
and the appropriate slib code would get loaded.
However, sometime recently I noticed that this was no longer working.
That is, I would find that `require' wasn't defined. I tried to
`debug' the problem, and changed my `~/.guile' to this:
(use-modules (ice-9 slib))
(display (string-append "`require' "
(if (defined? 'require)
"is indeed"
"alas is not")
" defined\n"))
When I then restarted guile, I was surprised to see a message telling
me that `require' was indeed defined.
So it's as if the `use-modules' has effect only in the file in which
it appears. I found that I could `work around' this by simply putting
the `use-modules' at the tops of my files that actually call
`require'. It dawned on me that this might not be a bug at all, and
that perhaps forcing my files to explicitly load the slib module was a
Good Thing. (However, I assume it makes my files unportable, since as
far as I know only guile defines `use-modules'.)
So, finally, here are my questions:
* Should I be using `~/.guile' as a startup file in the first place?
* If not, is there some other way I can have guile evaluate startup
code?
* Am I right in guessing that `use-modules' is intended to affect only
the file in which the call appears?
* If not, is this a bug?
I'd write the documentation that pertains to these issues myself, if I
understood them :(