--- a/ChangesBrowser.st Wed Jan 28 00:30:33 1998 +0100
+++ b/ChangesBrowser.st Wed Jan 28 13:22:25 1998 +0100
@@ -620,55 +620,59 @@
nm := self classNameOfChange:changeNr.
nm notNil ifTrue:[
- |cls|
-
- cls := Smalltalk at:(nm asSymbol) ifAbsent:[].
- cls notNil ifTrue:[
- cls isLoaded ifFalse:[
- cls autoload
- ]
- ]
+ |cls|
+
+ cls := Smalltalk at:(nm asSymbol) ifAbsent:[].
+ cls notNil ifTrue:[
+ cls isLoaded ifFalse:[
+ cls autoload
+ ]
+ ]
].
changeNrProcessed := changeNr.
applyAction := [
- |sig|
-
- (skipSignal notNil) ifTrue:[
- sig := skipSignal
- ] ifFalse:[
- sig := Object abortSignal
- ].
- sig catch:[
- |reader doItChunk methodsForChunk|
-
- "/ a followup methodsFor: chunk ...
- (changeIsFollowupMethodChange at:changeNr) ifTrue:[
- methodsForChunk := (changeChunks at:changeNr).
- ] ifFalse:[
- doItChunk := aStream nextChunk. "/ an empty chunk sometimes ...
- doItChunk notEmpty ifTrue:[
- Compiler evaluate:doItChunk notifying:self.
- ] ifFalse:[
- methodsForChunk := aStream nextChunk. "/ the real one
- ]
- ].
- methodsForChunk notNil ifTrue:[
- reader := Compiler evaluate:methodsForChunk notifying:self.
- reader fileInFrom:aStream notifying:self passChunk:false single:true.
- ]
- ].
- changeNrProcessed := nil.
+ |sig|
+
+ (skipSignal notNil) ifTrue:[
+ sig := skipSignal
+ ] ifFalse:[
+ sig := Object abortSignal
+ ].
+ sig catch:[
+ |reader doItChunk methodsForChunk|
+
+ "/ a followup methodsFor: chunk ...
+ (changeIsFollowupMethodChange at:changeNr) ifTrue:[
+ methodsForChunk := (changeChunks at:changeNr).
+ ] ifFalse:[
+ doItChunk := aStream nextChunk. "/ an empty chunk sometimes ...
+ doItChunk notEmpty ifTrue:[
+ Compiler evaluate:doItChunk notifying:self.
+ ] ifFalse:[
+ methodsForChunk := aStream nextChunk. "/ the real one
+ ]
+ ].
+ methodsForChunk notNil ifTrue:[
+ Class methodRedefinitionSignal handle:[:ex |
+ ex proceedWith:#keep
+ ] do:[
+ reader := Compiler evaluate:methodsForChunk notifying:self.
+ reader fileInFrom:aStream notifying:self passChunk:false single:true.
+ ]
+ ]
+ ].
+ changeNrProcessed := nil.
].
"/
"/ if I am showing the changes file, dont update it
"/
changeFileName = ObjectMemory nameForChanges ifTrue:[
- Class withoutUpdatingChangesDo:applyAction
+ Class withoutUpdatingChangesDo:applyAction
] ifFalse:[
- applyAction value
+ applyAction value
].
aStream close
@@ -2655,5 +2659,5 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.122 1998-01-27 18:42:27 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.123 1998-01-28 12:22:25 cg Exp $'
! !