--- a/PositionableStream.st Tue Feb 08 16:28:41 2000 +0100
+++ b/PositionableStream.st Tue Feb 08 19:01:17 2000 +0100
@@ -554,8 +554,8 @@
packageQuerySignal nameSpaceQuerySignal usedNameSpaceQuerySignal
changeDefaultApplicationNotificationSignal
defaultApplicationQuerySignal defaultApplication
- confirmationQuerySignal handledSignals
- dontAskSignals asSomeoneForPackage redef outerContext|
+ confirmationQuerySignal handledSignals passedSignals
+ dontAskSignals askSomeoneForPackage redef outerContext|
"/ support for V'Age applications
defaultApplicationQuerySignal := Class defaultApplicationQuerySignal.
@@ -568,10 +568,10 @@
(someone respondsTo:#packageToInstall) ifFalse:[
pkg := packageQuerySignal query.
- asSomeoneForPackage := false.
+ askSomeoneForPackage := false.
] ifTrue:[
pkg := someone packageToInstall.
- asSomeoneForPackage := true.
+ askSomeoneForPackage := true.
].
(someone respondsTo:#currentNameSpace) ifFalse:[
spc := nameSpaceQuerySignal query.
@@ -591,16 +591,28 @@
confirmationQuerySignal := Metaclass confirmationQuerySignal.
+ passedSignals := IdentitySet new.
+
handledSignals := SignalSet new.
handledSignals add:changeDefaultApplicationNotificationSignal.
+ passedSignals add:changeDefaultApplicationNotificationSignal.
+ handledSignals add:defaultApplicationQuerySignal.
+ passedSignals add:defaultApplicationQuerySignal.
+
handledSignals add:packageQuerySignal.
handledSignals add:usedNameSpaceQuerySignal.
handledSignals add:nameSpaceQuerySignal.
- handledSignals add:defaultApplicationQuerySignal.
+
handledSignals add:(Object errorSignal).
+ passedSignals add:(Object errorSignal).
+
handledSignals add:(Class methodRedefinitionSignal).
+ passedSignals add:(Class methodRedefinitionSignal).
handledSignals add:(Class classRedefinitionSignal).
+ passedSignals add:(Class classRedefinitionSignal).
handledSignals add:confirmationQuerySignal.
+ passedSignals add:confirmationQuerySignal.
+
outerContext := thisContext.
handledSignals handle:[:ex |
@@ -608,8 +620,13 @@
canContinueForAll|
sig := ex signal.
- (sig isHandledIn:outerContext) ifTrue:[
- ex reject
+"/sig == packageQuerySignal ifTrue:[
+"/self halt.
+"/].
+ (passedSignals includes:sig) ifTrue:[
+ (sig isHandledIn:outerContext) ifTrue:[
+ ex reject
+ ]
].
sig == changeDefaultApplicationNotificationSignal ifTrue:[
@@ -626,7 +643,7 @@
].
sig == packageQuerySignal ifTrue:[
"/ query for the package to use for classes & methods
- asSomeoneForPackage ifTrue:[
+ askSomeoneForPackage ifTrue:[
ex proceedWith:someone packageToInstall
] ifFalse:[
ex proceedWith:pkg
@@ -1058,6 +1075,6 @@
!PositionableStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.88 2000-02-02 12:39:32 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.89 2000-02-08 18:01:17 cg Exp $'
! !
PositionableStream initialize!