# HG changeset patch # User Stefan Vogel # Date 888840074 -3600 # Node ID 08ad28464911a75eb71522f003ae8211d42161e1 # Parent 66c9ab533baa6c668c01fda982432655a764ca67 Use #raiseRequest to invoke the (inherently) proceedable QuerySignal. Define #query (to be used instead of #raise). diff -r 66c9ab533baa -r 08ad28464911 QuerySig.st --- a/QuerySig.st Fri Feb 27 19:30:19 1998 +0100 +++ b/QuerySig.st Mon Mar 02 13:01:14 1998 +0100 @@ -10,8 +10,6 @@ hereby transferred. " -'From Smalltalk/X, Version:3.1.9 on 31-aug-1997 at 8:06:37 pm' ! - Signal subclass:#QuerySignal instanceVariableNames:'defaultAnswer hasDefault' classVariableNames:'' @@ -119,7 +117,7 @@ ] do:[ [ 1 // zero. 'an error which is caught in the handler'. - (querySignal raise) == true ifTrue:[ + (querySignal query) == true ifTrue:[ Transcript showCR:'query says: ok'. ] ifFalse:[ Transcript showCR:'query says: no' @@ -140,7 +138,7 @@ 'nesting'. [ [ - (querySignal raise) == true ifTrue:[ + (querySignal query) == true ifTrue:[ Transcript showCR:'query says: ok'. ] ifFalse:[ Transcript showCR:'query says: no' @@ -253,7 +251,7 @@ q := QuerySignal new. q answer:true do:[ - Transcript showCR:'query answers: ' , (q raise printString). + Transcript showCR:'query answers: ' , (q query printString). ] " @@ -263,15 +261,16 @@ q := QuerySignal new. q answer:false do:[ - Transcript showCR:'first query answers: ' , (q raise printString). + Transcript showCR:'first query answers: ' , (q query printString). q answer:true do:[ - Transcript showCR:'second query answers: ' , (q raise printString). + Transcript showCR:'second query answers: ' , (q query printString). ] ] " - "Created: 10.7.1996 / 15:08:20 / cg" - "Modified: 14.10.1996 / 16:59:18 / cg" + "Created: / 10.7.1996 / 15:08:20 / cg" + "Modified: / 14.10.1996 / 16:59:18 / cg" + "Modified: / 2.3.1998 / 10:41:45 / stefan" ! ! !QuerySignal methodsFor:'initialization'! @@ -296,15 +295,15 @@ handler := [:ex | ex proceedWith:nil] ] ifFalse:[ handler := [:ex | ex proceedWith:someValue]. - ] + ] ] ]. self handlerBlock:handler. " - QuerySignal new raise - (QuerySignal new defaultAnswer:true) raise - (QuerySignal new defaultAnswer:false) raise + QuerySignal new query + (QuerySignal new defaultAnswer:true) query + (QuerySignal new defaultAnswer:false) query " " @@ -312,7 +311,7 @@ sig := QuerySignal new. sig defaultAnswer:false. - rslt := sig raise. + rslt := sig query. Transcript showCR:rslt. " @@ -323,12 +322,13 @@ sig defaultAnswer:false. sig answer:true do:[ - rslt := sig raise + rslt := sig query ]. Transcript showCR:rslt. " - "Modified: 3.1.1997 / 15:14:40 / cg" + "Modified: / 3.1.1997 / 15:14:40 / cg" + "Modified: / 2.3.1998 / 10:42:14 / stefan" ! ! !QuerySignal methodsFor:'queries'! @@ -357,10 +357,10 @@ "Modified: 22.4.1996 / 13:45:10 / cg" ! -raise +query "raise the query - return the handlers value, or the default value, if there is no handler. - This is exactly the functionality of my inherited method, + Invoking the handler is exactly the functionality of Signal>>raiseRequest, but we can do it faster here." |con| @@ -372,7 +372,7 @@ or:#handle:from:do:. con notNil ifTrue:[ (con selector == #handle:do:) ifFalse:[ - ^ super raise + ^ super raiseRequest ]. (con receiver == self) ifTrue:[ "/ found a non-busy handler ... @@ -381,7 +381,7 @@ con := con sender. con selector == #answer:do: ifFalse:[ con receiver == self ifFalse:[ - ^ super raise + ^ super raiseRequest ] ]. ^ con argAt:1 @@ -390,18 +390,35 @@ ]. "/ no handler found - return the default value hasDefault == true ifTrue:[ - ^ defaultAnswer + ^ defaultAnswer ]. handlerBlock isNil ifTrue:[ ^ nil ]. - ^ super raise + ^ super raiseRequest + + "Modified: / 31.8.1997 / 08:05:32 / cg" + "Modified: / 2.3.1998 / 10:40:39 / stefan" +! + +raise + "redefined to use #query" - "Modified: 31.8.1997 / 08:05:32 / cg" + ^ self query + + "Modified: / 2.3.1998 / 10:39:05 / stefan" +! + +raiseRequest + "redefined to use #query" + + ^ self query + + "Created: / 2.3.1998 / 10:41:03 / stefan" ! ! !QuerySignal class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/Attic/QuerySig.st,v 1.21 1997-09-06 17:22:50 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Attic/QuerySig.st,v 1.22 1998-03-02 12:01:14 stefan Exp $' ! ! diff -r 66c9ab533baa -r 08ad28464911 QuerySignal.st --- a/QuerySignal.st Fri Feb 27 19:30:19 1998 +0100 +++ b/QuerySignal.st Mon Mar 02 13:01:14 1998 +0100 @@ -10,8 +10,6 @@ hereby transferred. " -'From Smalltalk/X, Version:3.1.9 on 31-aug-1997 at 8:06:37 pm' ! - Signal subclass:#QuerySignal instanceVariableNames:'defaultAnswer hasDefault' classVariableNames:'' @@ -119,7 +117,7 @@ ] do:[ [ 1 // zero. 'an error which is caught in the handler'. - (querySignal raise) == true ifTrue:[ + (querySignal query) == true ifTrue:[ Transcript showCR:'query says: ok'. ] ifFalse:[ Transcript showCR:'query says: no' @@ -140,7 +138,7 @@ 'nesting'. [ [ - (querySignal raise) == true ifTrue:[ + (querySignal query) == true ifTrue:[ Transcript showCR:'query says: ok'. ] ifFalse:[ Transcript showCR:'query says: no' @@ -253,7 +251,7 @@ q := QuerySignal new. q answer:true do:[ - Transcript showCR:'query answers: ' , (q raise printString). + Transcript showCR:'query answers: ' , (q query printString). ] " @@ -263,15 +261,16 @@ q := QuerySignal new. q answer:false do:[ - Transcript showCR:'first query answers: ' , (q raise printString). + Transcript showCR:'first query answers: ' , (q query printString). q answer:true do:[ - Transcript showCR:'second query answers: ' , (q raise printString). + Transcript showCR:'second query answers: ' , (q query printString). ] ] " - "Created: 10.7.1996 / 15:08:20 / cg" - "Modified: 14.10.1996 / 16:59:18 / cg" + "Created: / 10.7.1996 / 15:08:20 / cg" + "Modified: / 14.10.1996 / 16:59:18 / cg" + "Modified: / 2.3.1998 / 10:41:45 / stefan" ! ! !QuerySignal methodsFor:'initialization'! @@ -296,15 +295,15 @@ handler := [:ex | ex proceedWith:nil] ] ifFalse:[ handler := [:ex | ex proceedWith:someValue]. - ] + ] ] ]. self handlerBlock:handler. " - QuerySignal new raise - (QuerySignal new defaultAnswer:true) raise - (QuerySignal new defaultAnswer:false) raise + QuerySignal new query + (QuerySignal new defaultAnswer:true) query + (QuerySignal new defaultAnswer:false) query " " @@ -312,7 +311,7 @@ sig := QuerySignal new. sig defaultAnswer:false. - rslt := sig raise. + rslt := sig query. Transcript showCR:rslt. " @@ -323,12 +322,13 @@ sig defaultAnswer:false. sig answer:true do:[ - rslt := sig raise + rslt := sig query ]. Transcript showCR:rslt. " - "Modified: 3.1.1997 / 15:14:40 / cg" + "Modified: / 3.1.1997 / 15:14:40 / cg" + "Modified: / 2.3.1998 / 10:42:14 / stefan" ! ! !QuerySignal methodsFor:'queries'! @@ -357,10 +357,10 @@ "Modified: 22.4.1996 / 13:45:10 / cg" ! -raise +query "raise the query - return the handlers value, or the default value, if there is no handler. - This is exactly the functionality of my inherited method, + Invoking the handler is exactly the functionality of Signal>>raiseRequest, but we can do it faster here." |con| @@ -372,7 +372,7 @@ or:#handle:from:do:. con notNil ifTrue:[ (con selector == #handle:do:) ifFalse:[ - ^ super raise + ^ super raiseRequest ]. (con receiver == self) ifTrue:[ "/ found a non-busy handler ... @@ -381,7 +381,7 @@ con := con sender. con selector == #answer:do: ifFalse:[ con receiver == self ifFalse:[ - ^ super raise + ^ super raiseRequest ] ]. ^ con argAt:1 @@ -390,18 +390,35 @@ ]. "/ no handler found - return the default value hasDefault == true ifTrue:[ - ^ defaultAnswer + ^ defaultAnswer ]. handlerBlock isNil ifTrue:[ ^ nil ]. - ^ super raise + ^ super raiseRequest + + "Modified: / 31.8.1997 / 08:05:32 / cg" + "Modified: / 2.3.1998 / 10:40:39 / stefan" +! + +raise + "redefined to use #query" - "Modified: 31.8.1997 / 08:05:32 / cg" + ^ self query + + "Modified: / 2.3.1998 / 10:39:05 / stefan" +! + +raiseRequest + "redefined to use #query" + + ^ self query + + "Created: / 2.3.1998 / 10:41:03 / stefan" ! ! !QuerySignal class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/QuerySignal.st,v 1.21 1997-09-06 17:22:50 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/QuerySignal.st,v 1.22 1998-03-02 12:01:14 stefan Exp $' ! !