From: Matthew Flatt <mflatt@cs.utah.edu> To: plt-scheme@fast.cs.utah.edu Date: Sun, 21 Apr 2002 10:45:18 -0600 (MDT) Subject: 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