--- a/Context.st Wed Nov 15 13:13:46 1995 +0100
+++ b/Context.st Wed Nov 15 13:58:10 1995 +0100
@@ -35,7 +35,7 @@
!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.43 1995-11-15 10:40:02 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Context.st,v 1.44 1995-11-15 12:58:10 cg Exp $'
!
documentation
@@ -877,7 +877,7 @@
currently a context can only be unwound by
the owning process - not from outside."
- |con sel unwindBlock|
+ |con unwindBlock|
sender isNil ifTrue:[
"
@@ -893,26 +893,13 @@
con := thisContext.
[con notNil and:[con ~~ self]] whileTrue:[
con isUnwindContext ifTrue:[
+ "/
+ "/ mhmh - hardwired knowledge about those methods (taking the 1st arg)
+ "/
unwindBlock := con argAt:1.
con unmarkForUnwind.
unwindBlock value
].
-"/ con isBlockContext ifFalse:[
-"/ "
-"/ the way we find those unwind contexts seems kludgy ...
-"/ "
-"/ sel := con selector.
-"/ ((sel == #valueNowOrOnUnwindDo:) or:[sel == #valueOnUnwindDo:]) ifTrue:[
-"/ "
-"/ ... the way we evaluate the unwind blocks too
-"/ "
-"/ (con varAt:1) notNil ifTrue:[
-"/ con varAt:1 put:true.
-"/ unwindBlock := con argAt:1.
-"/ unwindBlock value
-"/ ]
-"/ ]
-"/ ].
con := con sender
].
@@ -944,7 +931,7 @@
currently a context can only be restarted by
the owning process - not from outside."
- |con sel unwindBlock|
+ |con unwindBlock|
"
start with this context, moving up, looking for unwind actions
@@ -952,27 +939,14 @@
con := thisContext.
[con notNil and:[con ~~ self]] whileTrue:[
con isUnwindContext ifTrue:[
+ "/
+ "/ mhmh - hardwired knowledge about those methods (taking the 1st arg)
+ "/
unwindBlock := con argAt:1.
con unmarkForUnwind.
unwindBlock value
].
-"/ con isBlockContext ifFalse:[
-"/ "
-"/ the way we find those unwind contexts seems kludgy ...
-"/ "
-"/ sel := con selector.
-"/ ((sel == #valueNowOrOnUnwindDo:) or:[sel == #valueOnUnwindDo:]) ifTrue:[
-"/ "
-"/ ... the way we evaluate the unwind blocks too
-"/ "
-"/ (con varAt:1) notNil ifTrue:[
-"/ con varAt:1 put:true.
-"/ unwindBlock := con argAt:1.
-"/ unwindBlock value
-"/ ]
-"/ ]
-"/ ].
con := con sender
].
@@ -1007,7 +981,7 @@
currently a context can only be unwound by
the owning process - not from outside."
- |con sel unwindBlock|
+ |con unwindBlock|
sender isNil ifTrue:[
"
@@ -1023,26 +997,13 @@
con := thisContext.
[con notNil and:[con ~~ self]] whileTrue:[
con isUnwindContext ifTrue:[
+ "/
+ "/ mhmh - hardwired knowledge about those methods (taking the 1st arg)
+ "/
unwindBlock := con argAt:1.
con unmarkForUnwind.
unwindBlock value
].
-"/ con isBlockContext ifFalse:[
-"/ "
-"/ the way we find those unwind contexts seems kludgy ...
-"/ "
-"/ sel := con selector.
-"/ ((sel == #valueNowOrOnUnwindDo:) or:[sel == #valueOnUnwindDo:]) ifTrue:[
-"/ "
-"/ ... the way we evaluate the unwind blocks too
-"/ "
-"/ (con varAt:1) notNil ifTrue:[
-"/ con varAt:1 put:true.
-"/ unwindBlock := con argAt:1.
-"/ unwindBlock value
-"/ ]
-"/ ]
-"/ ].
con := con sender
].