Change DYNAMIC-WIND (and FLUID-LET) so that they record the state
authorChris Hanson <org/chris-hanson/cph>
Wed, 20 Jan 1993 06:59:51 +0000 (06:59 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 20 Jan 1993 06:59:51 +0000 (06:59 +0000)
commit89fd61988e7a4074eaf031217b46b94a37263e24
tree2ba575513b3aaa457f3e99cce16b217fbc9d2932
parentcbe140b7402efd42173d77f4bfc856f98feb139d
Change DYNAMIC-WIND (and FLUID-LET) so that they record the state
transition *after* the "before" thunk is executed.  This guarantees
that both the "before" and "after" thunks execute in the dynamic state
outside of the DYNAMIC-WIND call.

**** NB: ****
The particular change I made is buggy: I only changed how the state
transition is performed in the normal case.  If you throw out from the
"during" thunk and then throw back in, the "before" thunk will be
executed after its state transition is recorded.  In order to fix this
properly, the state space structure must be extended to include
information indicating whether the transition should be recorded
before or after the transition thunk.
v7/src/runtime/wind.scm