--- a/Query.st Mon Aug 02 17:03:12 1999 +0200
+++ b/Query.st Mon Aug 02 17:03:35 1999 +0200
@@ -285,22 +285,20 @@
|con s|
- con := thisContext sender.
+ con := Context findFirstSpecialHandle:true raise:false.
[con notNil] whileTrue:[
- con := con findSpecialHandle:true raise:true.
- con notNil ifTrue:[
- (con selector == #answer:do:) ifFalse:[
- ^ super raiseRequest
- ].
- (s := con receiver) == self ifTrue:[
- ^ con argAt:1
- ] ifFalse:[
- (s accepts:self) ifTrue:[
- ^ super raiseRequest
- ]
- ]
- ]
+ (con selector == #answer:do:) ifFalse:[
+ ^ super raiseRequest
+ ].
+ (s := con receiver) == self ifTrue:[
+ ^ con argAt:1
+ ].
+ (s accepts:self) ifTrue:[
+ ^ super raiseRequest
+ ].
+ con := con findSpecialHandle:true raise:false.
].
+
"/ no handler found - return the default value
^ self defaultAnswer
@@ -339,5 +337,5 @@
!Query class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Query.st,v 1.4 1999-08-02 13:42:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Query.st,v 1.5 1999-08-02 15:03:35 cg Exp $'
! !