[Top][All Lists]

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

guile available

From: Thien-Thi Nguyen
Subject: guile available
Date: Tue, 30 Sep 2003 23:43:54 +0200

part of the whole 1.4.2 thrust is to tame the module system.  w/ we finally have wrapped our heads around the problem (at least
a big chunk of it) and started to separate the pieces vertically so that
they can be recast horizontally (table driven).  see chapter "Modules"
for the first inklings of documenting the beast and a hint as to how it
will be ultimately brought into the light.

as usual, other minor improvements here and there.  more scripts, etc.
new NEWS excerpt below.  tarball in directory:

the intrepid experimentalist will notice .module-catalog files under
$(pkgdatadir) and $(pkglibdir) -- do not be alarmed!  try, instead, one
of these diversions:

  st  /tmp/a/b/c/bin/guile -c '(use-modules (database tmpfile))'
  sta /tmp/a/b/c/bin/guile -c '(use-modules (database tmpfile))'
  st  /tmp/a/b/c/bin/guile -c '(%%mc -1) (use-modules (database tmpfile))'
  sta /tmp/a/b/c/bin/guile -c '(%%mc -1) (use-modules (database tmpfile))'

where sta and st are simple scripts that do "strace -f -e open ..." and
"strace -f -e open ... | grep -v No.such.file", respectively.  (i have
posted them in the past, ping me privately if you want a copy.)  also,
you may try them w/ other versions of guile for hours of fun.


* Module system internals starting to be internalized

Several procedures and data structures from boot-9.scm have
been moved into ice-9/module-system-compat.scm as their functionality
is starting to be internalized.  These were chosen mostly for their
lack of use outside the module system (that is, they were "internal"
in nature but "public" in presentation).  See that file if you really
need them (unlikely).

* Meta switch parser now understands double-quote

Previously, given a script header:

        #!/usr/local/bin/guile \
        -e "(some module name)" -s

the arguments seen by the script would have numbered 5, corresponding
to the space-delimited tokens on the second line.  Now, the meta switch
parser understands double quotes and the same header would result in
three arguments: `-e', `(some module name)' and `-s'.

* `file-exists?' now follows EUID/EGID

* Default `%load-path' extended to include "lib" dirs.

Analogous to the present group of `%load-path' directories:


the default `%load-path' now includes, immediately following the above:


The ".../guile/site" dirs are for unrelated third-party modules,
whereas the ".../guile" dirs are for "affiliated" third-party modules.
(The ".../guile/<VERSION>" dirs are reserved for Guile.)

* New installed module: (database tmpfile)

This is installed under <PREFIX>/lib/guile/<VERSION>, which is now included
in the default %load-path (see above).  It provides the single procedure
`tmpfile' as a wrapper for tmpfile(3).  Unlike tmpfile(3), however, the
return value is an input/output fport instead of `FILE *'.

* Interpreter's "-s" switch optional in certain cases

When processing command-line arguments to the interpreter, the first
non-recognized element used to signal an error.  Now, it is taken to be
the name of a script to be run, and the rest of the command line to be
arguments to the script.  The net effect is that "-s" can be viewed as
optional; the following pairs of invocations are treated identically:

   guile -s script 3 2 1
   guile script 3 2 1

Note that in the latter case, the script's name cannot begin with "-" as
that would confuse the argument processor.

[end of excerpt]

reply via email to

[Prev in Thread] Current Thread [Next in Thread]