--- a/QuerySignal.st Thu Aug 23 23:06:06 2001 +0200
+++ b/QuerySignal.st Thu Aug 23 23:07:35 2001 +0200
@@ -423,30 +423,28 @@
but we can do it faster here, by avoiding the creation of a full-blown
exception object."
- |con s|
+ |con sel sig|
con := Context findFirstSpecialHandle:true raise:false.
[con notNil] whileTrue:[
- (s := con selector) == #'answer:do:' ifTrue:[
- (s := con receiver) == self ifTrue:[
-"/ '0' printCR.
+ (sel := con selector) == #'answer:do:' ifTrue:[
+ (sig := con receiver) == self ifTrue:[
^ con argAt:1
].
- (s accepts:self) ifTrue:[
-"/ '*2' printCR.
+ sig isNil ifTrue:[
+ self halt.
+ ].
+ (sig accepts:self) ifTrue:[
^ super raiseRequest
].
] ifFalse:[
- s == #'handle:do:' ifFalse:[
-"/ '*1a ' print. con printCR.
+ sel == #'handle:do:' ifFalse:[
^ super raiseRequest
].
- (s := con receiver) == self ifTrue:[
-"/ '*1b ' print. con printCR.
+ (sig := con receiver) == self ifTrue:[
^ super raiseRequest
].
- (s accepts:self) ifTrue:[
-"/ '*1c ' print. con printCR.
+ (sig accepts:self) ifTrue:[
^ super raiseRequest
]
].
@@ -455,14 +453,11 @@
"/ no handler found - return the default value
hasDefault == true ifTrue:[
-"/ '3 ' print. self print. ' default: ' print. defaultAnswer printCR.
^ defaultAnswer
].
handlerBlock isNil ifTrue:[
-"/ '4 ' print. self print. ' nil: ' printCR.
^ nil
].
-"/ '*5 ' print. self print. ' handlerBlock' printCR.
^ super raiseRequest
"Modified: / 15.6.1998 / 21:27:37 / cg"
@@ -472,5 +467,5 @@
!QuerySignal class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/QuerySignal.st,v 1.35 2001-05-17 22:28:30 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/QuerySignal.st,v 1.36 2001-08-23 21:07:35 cg Exp $'
! !