channel.scm, common-list.scm, debug.scm, debugger.scm,
expect.scm, hcons.scm, lineio.scm, ls.scm, mapping.scm,
null.scm, optargs.scm, poe.scm, popen.scm, pretty-print.scm,
q.scm, r5rs.scm, rdelim.scm, regex.scm, runq.scm, safe-r5rs.scm,
safe.scm, session.scm, slib.scm, streams.scm, string-fun.scm,
syncase.scm, threads.scm: Move module the system directives
`export', `export-syntax', `re-export' and `re-export-syntax'
into the `define-module' form. This is the recommended way of
exporting bindings.
* popen.scm (open-process): bug fix: don't use
close-all-ports-except to close ports in the child process, since
it causes port buffers to be flushed. they may be flushed again
in the parent, causing duplicate output. use a more elaborate
method for setting up the child descriptors (thanks to David
Pirotte for the bug report).
standard file descriptors 0, 1, 2 in the child process
are now set up from current-input-port etc., where possible.
the end of the pipe to the parent. otherwise move->fdes and
the exec'd program and the exit handlers can interfere with file
descriptors still in use in parent ports.
* Makefile.in: Regenerated.
* popen.scm: applied fixes from Greg Harvey. use a guardian
and a gc-thunk so that cleanup is done if a pipe is garbage
collected or closed with close-port. use a weak hash-table instead of
an alist.
* boot-9.scm (reopen-file): deleted.
* popen.scm (open-output-pipe, open-input-pipe): moved from
boot-9.scm.
* popen.scm: new file.