[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
200alpha17
The exp-tagged code in CVS for MzScheme and MrEd is now version
200alpha17.
This version changes `make-input-port' and `make-output-port', as
promised. The new procedures are called `make-custom-input-port' and
`make-custom-output-port' (mainly to help identify code that needs to
be comverted).
The new interface for `make-custom-input-port' and
`make-custom-output-port' is roughly what I posted last week. See the
MzScheme manual for lots of details.
Other changes:
* `object-wait-multiple' works on all input and output ports.
* Added `read-string-avail!*' and `write-string-avail*', which are
completely non-blocking versions of the starless routines. The new
procedures are useful only to programs that want to schedule their
own tasks instead of using MzScheme threads.
* Added `peek-string', `peek-string-avail!', `peek-string-avail!*',
and `peek-string-avail!/enable-break'. Compared to the reading
counterparts, each of these takes a skip count, so you can skip over
N characters and then peek at M characters.
* Added `shell-execute', which is a poor-Windows-man's analogue to
`send-event'. It works in Windows, only.
* Inside MzScheme: changed scheme_make_input_port, scheme_make_output_port,
added scheme_get_string, scheme_put_string.
Beware: The port changes required significant restructing in the
underlying code. I've tested the changes thoroughly, but there's a
greater-than-usual likelihood of new I/O bugs in this release.
Matthew