Wow; there's no pleasing some people.
%set-unix-signal-handler! was fixed long ago, in the as-yet-unreleased
sources. The signal system in the last release was pretty flaky. It's
much more solid in the next one.
The documentation claims that the `scsh' structure provides an
`open-input-file' that is upwardly compatible with the `open-input-file'
provided by the `scheme' structure. This is true, but useless as far as I
can tell. The Scheme48 module system says that it is an error to open more
than one structure that exports the same name, and sure enough, if I open
both `scheme' and `scsh' in some new structure I'm building, the binding of
the name `open-input-file' is unpredictable. Sometimes I get the scsh
version, and sometimes I get the original Scheme48 version.
Of course none of the package/module/structure/interface stuff is
adaquately documented, so perhaps I'm doing something wrong. Here is what
I'm trying to do:
(define-structure utilities (export [...])
I'm only guessing that I'm supposed to be including `scsh' in the list of
structures to open -- nothing I can find in the manual tells me how I'm
expected to do this.
The problem here is that the module system is (officially) insufficiently
powerful to do what we need to do -- override one package's exports with
The workaround is to make sure scsh comes before scheme in your list of
opens. You have them backwards in the above example. It is an undocumented,
unsupported feature of the S48 package system that the first package takes
priority over later ones.
The official line is that one is not allowed to do this -- if you open
two structures in the same package, they have to have disjoint exports.
(I could be wrong on this, but this is what I recall from looking into
the problem the first time it bit me.)
How would you know all this? You wouldn't. Sorry -- we should have made this
clear in the manual.
Let me get back to you on SIGPIPE. I need to check my Posix specs for a few