[Seaside] [FIX] continuations

Avi Bryant avi@beta4.com
Fri, 5 Apr 2002 15:28:53 -0800 (PST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--1293455216-2132958628-1018049139=:30910
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.4.30.0204051526021.30929@cable.beta4.com>

Attached is a fix to a long standing problem with the implementation of
continuations in Seaside (triggering the bug is pretty easy - try, in a
Seaside component, the code "#(1 2 3) do: [:i | self inform: i
asString]").  The problem was that when the stack was copied,
references in temps to stack frames (ie, to BlockContexts) still
pointed to the old copies.  This changeset makes sure that all such
references are updated during the copying.

This also partially cleans up the conflict between continuations and
ensure:, although it is still dangerous, unfortunately, to mix ensure: and
the back button.


--1293455216-2132958628-1018049139=:30910
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="copyStack.cs"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.30.0204051525390.30910@cable.beta4.com>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="copyStack.cs"

DSFDb250ZXh0UGFydCBtZXRob2RzRm9yOiAnY29udGludWF0aW9ucycgc3Rh
bXA6ICdBQiA0LzUvMjAwMiAxNTowMichDXJlcGxhY2VUZW1wOiBvbGRUZW1w
IHdpdGg6IG5ld1RlbXANCXNlbGYgdGVtcE5hbWVzIHdpdGhJbmRleERvOg0J
CVs6dGVtcCA6aSB8DQkJKHNlbGYgdGVtcEF0OiBpKSA9PSBvbGRUZW1wDQkJ
CWlmVHJ1ZTogW3NlbGYgdGVtcEF0OiBpIHB1dDogbmV3VGVtcF1dISAhDQ0N
IUJsb2NrQ29udGV4dCBtZXRob2RzRm9yOiAnY29udGludWF0aW9ucycgc3Rh
bXA6ICdBQiA0LzUvMjAwMiAxNTowMychDWNvcHlTdGFjaw0JfHMgaSBob21l
RGVwdGggY29weXwNCXMgXyBzZW5kZXIuDQlpIF8gMC4NCWhvbWVEZXB0aCBf
IG5pbC4NCVtzIG5vdE5pbF0gd2hpbGVUcnVlOiBbDQkJcyA9PSBob21lIGlm
VHJ1ZTogW2hvbWVEZXB0aCBfIGldLg0JCXMgXyBzIHNlbmRlci4NCQlpIF8g
aSArIDFdLg0JY29weSBfIHN1cGVyIGNvcHlTdGFjay4NCWhvbWVEZXB0aCBp
Zk5vdE5pbDoNCQlbcyBfIGNvcHkgc2VuZGVyLg0JCWhvbWVEZXB0aCB0aW1l
c1JlcGVhdDoNCQkJW3MgcmVwbGFjZVRlbXA6IHNlbGYgd2l0aDogY29weS4N
CQkJcyBfIHMgc2VuZGVyXS4NCQlzIHJlcGxhY2VUZW1wOiBzZWxmIHdpdGg6
IGNvcHkuDQkJY29weSBob21lOiBzXS4NCV4gY29weSEgIQ0N
--1293455216-2132958628-1018049139=:30910--