The exp-tagged code in CVS for MzScheme and Mred is now version 203.7.
This version mainly cleans up some details in the concurrency
primitives:
* `thread-resume' now installs a transitive resume. That is,
`(thread-resume t1 t2)' not only resumes t1 and potentially changes
t1's custodian, it also arranges for each future resume of t2 to
also resume t1.
* Semaphore blocking is now "fair" in the usual sense: If a thread
waits on a semaphore that is unblocked arbitrarily often, then the
thread is eventually unblocked (no matter how many other threads
also wait on the same semaphore).
* `object-wait-multiple' now fairly selects among alternatives using
psuedo-random numbers. The pseudo-random generator is specified
through a new `current-wait-pseudo-random-generator' parameter. As a
result, all else being equal, `object-wait-multiple' can be made
deterministic by picking a seed for the generator.
* Fixed event-handling problems in Windows. For example, under XP,
mousing over the task bar now hilites task buttons, and non-roman
input methods don't become temporarily wedged when used in
DrScheme/MrEd. [This change was actually exp-tagged a few days ago.]
* Fixed a crashing problem under OS X when using scroll bars. [This
change was actually exp-tagged over a week ago.]
* Added `tcp-port?'.
Matthew