This version of the runtime system requires the following
corresponding versions:
Microcode 11.108
SF 4.23
Edwin 3.66
Implement multiple control threads.
* Use new reentrant directory-reading primitives.
* Reimplement DYNAMIC-WIND and FLUID-LET. The dynamic state is split
into a global part, which FLUID-LET bindings, and a local part,
which DYNAMIC-WIND binds. The local part is different for each
thread, and the global part is shared. The new dynamic state code
is all written in Scheme, except for the primitive
WITH-STACK-MARKER, which is used to inform the continuation parser
about the state changes.
* The continuation parser has been modified to hide the stack frames
made by CALL-WITH-CURRENT-CONTINUATION from the debugger.
* The variable TIMER-INTERRUPT has been removed. Chances are, you
don't need this now, and this will prevent people from running
programs that will screw thread preemption.
* Keyboard interrupts are delivered to a specific thread, which can be
accessed with KEYBOARD-INTERRUPT-THREAD and modified by
SET-KEYBOARD-INTERRUPT-THREAD!.
24 files changed: