PositionableStream.st
changeset 5250 991f068f9a80
parent 5228 637a1a93b740
child 5302 f654a1cbc5b0
--- 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!