[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
199.20
The v200-tagged code in CVS for MzScheme and MrEd is now version 199.20.
Changes:
* Added `tcp-connect/enable-break' and `tcp-accept/enable-break'.
* Added `object-wait-multiple' and `object-wait-multiple/enable-break'.
The new procedures accept a timeout (possibly #f) and one or more
arguments for waiting. They block until the timeout expires, in
which case #f is returned, or until one of the objects becomes
unblocked, in which case an unblocked object is returned. If a
semaphore is returned, then its internal count has been decremented
by the wait.
The waitable objects, including their corresponding blocking
states, are as follows:
type of object blocking state
-------------- ----------------------
semaphore internal count is zero
thread running
subprocess running
TCP listener nothing to accept
will executor no wills to execute
input port: no characters ready
file-stream
pipe
TCP
The `semaphore-wait', `semaphore-wait/enable-break', `thread-wait',
and `subprocess-wait' procedures are all technically redundant, but
it seems worthwhile to keep them for error checking and code
clarity.
* Removed `semaphore-wait-multiple' from the "thread.ss" MzLib
library.
* Added `letrec-syntaxes+values', and changed the expansion of
internal defines to use the new form so that a sequence of internal
`define' and `define-syntax' defininitions creates a single,
mutually recursive scope (as in Chez).
* Fixed `write' on symbols with uppercase characters to quote the
characters (unless `read-case-sentitive' is set to #t).
* Changed the `datum->syntax-object' interface for position lists.
Added a fourth optional argument to `datum->syntax-errors' for
copying properties.
* Fixed reader error messages to use `error-print-source-location'
and GNU-style source locations.
* Unix, Windows: fixed bug in `sleep' when asked to sleep for a large
number of seconds.
* Inside MzScheme: changed type of third argument for
scheme_block_until() from void* to Scheme_Object*.
* Inside MzScheme: added scheme_add_waitable() and
scheme_add_waitable_through_sema() for extending the set of objects
supported by `object-wait-multiple'.
The MzScheme, MzLib, MrEd, mzc, and Inside MzScheme doc bundles have
been updated.
Matthew