also care for class redefinitions.
authorClaus Gittinger <cg@exept.de>
Wed, 17 Jun 1998 11:45:41 +0200
changeset 3597 98bd336b3c3f
parent 3596 d19a2f605da3
child 3598 25e88b92fcd9
also care for class redefinitions.
PosStream.st
PositionableStream.st
--- a/PosStream.st	Wed Jun 17 11:42:17 1998 +0200
+++ b/PosStream.st	Wed Jun 17 11:45:41 1998 +0200
@@ -499,6 +499,7 @@
     handledSignals add:defaultApplicationQuerySignal.
     handledSignals add:(Object errorSignal).
     handledSignals add:(Class methodRedefinitionSignal).
+    handledSignals add:(Class classRedefinitionSignal).
     handledSignals handle:[:ex |
         |sig action what sender msg param oldPackage newPackage|
 
@@ -538,14 +539,22 @@
         ].
 
         "/ for your convenience ...
-        sig == Class methodRedefinitionSignal ifTrue:[
+        (sig == Class methodRedefinitionSignal) ifTrue:[
             param := ex parameter. "/ an association: oldMethod -> newMethod
             oldPackage := param key package.
             newPackage := param value package.
             msg := 'trying to overwrite method:\\    %1\\in package ''' 
                    , oldPackage , ''' with method from package ''' , newPackage , ''''
         ] ifFalse:[
-            msg := 'error in fileIn: %1'
+            (sig == Class classRedefinitionSignal) ifTrue:[
+                param := ex parameter. "/ an association: oldClass -> newClass
+                oldPackage := param key package.
+                newPackage := param value package.
+                msg := 'trying to redefine class:\\    %1\\in package ''' 
+                       , oldPackage , ''' with new definition from package ''' , newPackage , ''''
+            ] ifFalse:[
+                msg := 'error in fileIn: %1'
+            ]
         ].
 
         what := ex errorString.
@@ -591,7 +600,7 @@
     ].
     ^ lastValue
 
-    "Modified: / 16.6.1998 / 16:16:46 / cg"
+    "Modified: / 17.6.1998 / 10:19:19 / cg"
 ! !
 
 !PositionableStream methodsFor:'positioning'!
@@ -837,6 +846,6 @@
 !PositionableStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.66 1998-06-16 14:23:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.67 1998-06-17 09:45:41 cg Exp $'
 ! !
 PositionableStream initialize!
--- a/PositionableStream.st	Wed Jun 17 11:42:17 1998 +0200
+++ b/PositionableStream.st	Wed Jun 17 11:45:41 1998 +0200
@@ -499,6 +499,7 @@
     handledSignals add:defaultApplicationQuerySignal.
     handledSignals add:(Object errorSignal).
     handledSignals add:(Class methodRedefinitionSignal).
+    handledSignals add:(Class classRedefinitionSignal).
     handledSignals handle:[:ex |
         |sig action what sender msg param oldPackage newPackage|
 
@@ -538,14 +539,22 @@
         ].
 
         "/ for your convenience ...
-        sig == Class methodRedefinitionSignal ifTrue:[
+        (sig == Class methodRedefinitionSignal) ifTrue:[
             param := ex parameter. "/ an association: oldMethod -> newMethod
             oldPackage := param key package.
             newPackage := param value package.
             msg := 'trying to overwrite method:\\    %1\\in package ''' 
                    , oldPackage , ''' with method from package ''' , newPackage , ''''
         ] ifFalse:[
-            msg := 'error in fileIn: %1'
+            (sig == Class classRedefinitionSignal) ifTrue:[
+                param := ex parameter. "/ an association: oldClass -> newClass
+                oldPackage := param key package.
+                newPackage := param value package.
+                msg := 'trying to redefine class:\\    %1\\in package ''' 
+                       , oldPackage , ''' with new definition from package ''' , newPackage , ''''
+            ] ifFalse:[
+                msg := 'error in fileIn: %1'
+            ]
         ].
 
         what := ex errorString.
@@ -591,7 +600,7 @@
     ].
     ^ lastValue
 
-    "Modified: / 16.6.1998 / 16:16:46 / cg"
+    "Modified: / 17.6.1998 / 10:19:19 / cg"
 ! !
 
 !PositionableStream methodsFor:'positioning'!
@@ -837,6 +846,6 @@
 !PositionableStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.66 1998-06-16 14:23:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.67 1998-06-17 09:45:41 cg Exp $'
 ! !
 PositionableStream initialize!