--- a/ChangesBrowser.st Thu Dec 14 18:03:10 1995 +0100
+++ b/ChangesBrowser.st Thu Dec 14 21:13:04 1995 +0100
@@ -968,7 +968,7 @@
changeFileSize := f info at:#size.
changeFileTimestamp := f info at:#modified.
- self withCursor:(Cursor read) do:[
+ self withReadCursorDo:[
|myProcess myPriority|
"
@@ -1270,7 +1270,7 @@
self checkIfFileHasChanged
"Modified: 27.8.1995 / 23:06:55 / claus"
- "Modified: 13.12.1995 / 15:39:57 / cg"
+ "Modified: 14.12.1995 / 20:58:35 / cg"
!
selectorOfMethodChange:changeNr
@@ -1365,10 +1365,12 @@
changeNr := changeListView selection.
changeNr notNil ifTrue:[
- self withCursor:(Cursor execute) do:[
- aBlock value:changeNr
- ]
+ self withExecuteCursorDo:[
+ aBlock value:changeNr
+ ]
]
+
+ "Modified: 14.12.1995 / 20:58:45 / cg"
!
writeBackChanges
@@ -1527,15 +1529,17 @@
doApplyAll
"user wants all changes to be applied"
- self withCursor:(Cursor execute) do:[
- self clearCodeView.
- skipSignal isNil ifTrue:[skipSignal := Signal new].
- 1 to:(self numberOfChanges) do:[:changeNr |
- changeListView selection:changeNr.
- self applyChange:changeNr
- ].
- self autoSelectLast
+ self withExecuteCursorDo:[
+ self clearCodeView.
+ skipSignal isNil ifTrue:[skipSignal := Signal new].
+ 1 to:(self numberOfChanges) do:[:changeNr |
+ changeListView selection:changeNr.
+ self applyChange:changeNr
+ ].
+ self autoSelectLast
]
+
+ "Modified: 14.12.1995 / 20:58:03 / cg"
!
doApplyClassRest
@@ -1612,10 +1616,12 @@
changeNr := changeListView selection.
changeNr notNil ifTrue:[
- self withCursor:(Cursor execute) do:[
- self compareChange:changeNr
- ]
+ self withExecuteCursorDo:[
+ self compareChange:changeNr
+ ]
]
+
+ "Modified: 14.12.1995 / 20:58:12 / cg"
!
doCompress
@@ -1631,139 +1637,140 @@
self newLabel:'compressing ...'.
CompressSnapshotInfo == true ifTrue:[
- "
- get a prototype snapshot record (to be independent of
- the actual format ..
- "
- str := WriteStream on:String new.
- Class addChangeRecordForSnapshot:'foo' to:str.
- snapshotProto := str contents.
- snapshotPrefix := snapshotProto copyTo:10.
- snapshotNameIndex := snapshotProto findString:'foo'.
+ "
+ get a prototype snapshot record (to be independent of
+ the actual format ..
+ "
+ str := WriteStream on:String new.
+ Class addChangeRecordForSnapshot:'foo' to:str.
+ snapshotProto := str contents.
+ snapshotPrefix := snapshotProto copyTo:10.
+ snapshotNameIndex := snapshotProto findString:'foo'.
].
- self withCursor:(Cursor execute) do:[
- |numChanges classes selectors types excla sawExcla
- changeNr chunk aParseTree parseTreeChunk
- thisClass thisSelector codeChunk codeParser|
+ self withExecuteCursorDo:[
+ |numChanges classes selectors types excla sawExcla
+ changeNr chunk aParseTree parseTreeChunk
+ thisClass thisSelector codeChunk codeParser|
- numChanges := self numberOfChanges.
- classes := Array new:numChanges.
- selectors := Array new:numChanges.
- types := Array new:numChanges.
+ numChanges := self numberOfChanges.
+ classes := Array new:numChanges.
+ selectors := Array new:numChanges.
+ types := Array new:numChanges.
- "starting at the end, get the change class and change selector;
- collect all in classes / selectors"
+ "starting at the end, get the change class and change selector;
+ collect all in classes / selectors"
- changeNr := numChanges.
- excla := aStream class chunkSeparator.
+ changeNr := numChanges.
+ excla := aStream class chunkSeparator.
- [changeNr >= 1] whileTrue:[
- aStream position:(changePositions at:changeNr).
- sawExcla := aStream peekFor:excla.
- chunk := aStream nextChunk.
- sawExcla ifTrue:[
- "optimize a bit if multiple methods for same category arrive"
- (chunk = parseTreeChunk) ifFalse:[
- aParseTree := Parser parseExpression:chunk.
- parseTreeChunk := chunk
- ].
- (aParseTree notNil
- and:[(aParseTree ~~ #Error)
- and:[aParseTree isMessage]]) ifTrue:[
- (aParseTree selector == #methodsFor:) ifTrue:[
- thisClass := (aParseTree receiver evaluate).
- codeChunk := aStream nextChunk.
- codeParser := Parser
- parseMethodSpecification:codeChunk
- in:thisClass
- ignoreErrors:true
- ignoreWarnings:true.
- (codeParser notNil and:[codeParser ~~ #Error]) ifTrue:[
- selectors at:changeNr put:(codeParser selector).
- classes at:changeNr put:thisClass.
- types at:changeNr put:#methodsFor
- ]
- ]
- ]
- ] ifFalse:[
- aParseTree := Parser parseExpression:chunk.
- parseTreeChunk := chunk.
- (aParseTree notNil
- and:[(aParseTree ~~ #Error)
- and:[aParseTree isMessage]]) ifTrue:[
- (aParseTree selector == #removeSelector:) ifTrue:[
- selectors at:changeNr put:(aParseTree arg1 value ).
- classes at:changeNr put:(aParseTree receiver evaluate).
- types at:changeNr put:#removeSelector
- ]
- ] ifFalse:[
- CompressSnapshotInfo == true ifTrue:[
- (chunk startsWith:snapshotPrefix) ifTrue:[
- str := chunk readStream position:snapshotNameIndex.
- fileName := str upTo:(Character space).
- "
- kludge to allow use of match-check below
- "
- selectors at:changeNr put:snapshotPrefix.
- classes at:changeNr put:fileName.
- ]
- ]
- ]
- ].
- changeNr := changeNr - 1
- ].
- aStream close.
+ [changeNr >= 1] whileTrue:[
+ aStream position:(changePositions at:changeNr).
+ sawExcla := aStream peekFor:excla.
+ chunk := aStream nextChunk.
+ sawExcla ifTrue:[
+ "optimize a bit if multiple methods for same category arrive"
+ (chunk = parseTreeChunk) ifFalse:[
+ aParseTree := Parser parseExpression:chunk.
+ parseTreeChunk := chunk
+ ].
+ (aParseTree notNil
+ and:[(aParseTree ~~ #Error)
+ and:[aParseTree isMessage]]) ifTrue:[
+ (aParseTree selector == #methodsFor:) ifTrue:[
+ thisClass := (aParseTree receiver evaluate).
+ codeChunk := aStream nextChunk.
+ codeParser := Parser
+ parseMethodSpecification:codeChunk
+ in:thisClass
+ ignoreErrors:true
+ ignoreWarnings:true.
+ (codeParser notNil and:[codeParser ~~ #Error]) ifTrue:[
+ selectors at:changeNr put:(codeParser selector).
+ classes at:changeNr put:thisClass.
+ types at:changeNr put:#methodsFor
+ ]
+ ]
+ ]
+ ] ifFalse:[
+ aParseTree := Parser parseExpression:chunk.
+ parseTreeChunk := chunk.
+ (aParseTree notNil
+ and:[(aParseTree ~~ #Error)
+ and:[aParseTree isMessage]]) ifTrue:[
+ (aParseTree selector == #removeSelector:) ifTrue:[
+ selectors at:changeNr put:(aParseTree arg1 value ).
+ classes at:changeNr put:(aParseTree receiver evaluate).
+ types at:changeNr put:#removeSelector
+ ]
+ ] ifFalse:[
+ CompressSnapshotInfo == true ifTrue:[
+ (chunk startsWith:snapshotPrefix) ifTrue:[
+ str := chunk readStream position:snapshotNameIndex.
+ fileName := str upTo:(Character space).
+ "
+ kludge to allow use of match-check below
+ "
+ selectors at:changeNr put:snapshotPrefix.
+ classes at:changeNr put:fileName.
+ ]
+ ]
+ ]
+ ].
+ changeNr := changeNr - 1
+ ].
+ aStream close.
- "for all changes, look for another class/selector occurence later
- in the list and, if there is one, add change number to the delete set"
+ "for all changes, look for another class/selector occurence later
+ in the list and, if there is one, add change number to the delete set"
- deleteSet := OrderedCollection new.
- changeNr := 1.
- [changeNr < self numberOfChanges] whileTrue:[
- thisClass := classes at:changeNr.
- thisSelector := selectors at:changeNr.
- searchIndex := changeNr.
- anyMore := true.
- [anyMore] whileTrue:[
- searchIndex := classes indexOf:thisClass
- startingAt:(searchIndex + 1).
- (searchIndex ~~ 0) ifTrue:[
- ((selectors at:searchIndex) == thisSelector) ifTrue:[
- thisClass notNil ifTrue:[
- deleteSet add:changeNr.
- anyMore := false
- ]
- ]
- ] ifFalse:[
- anyMore := false
- ]
- ].
- changeNr := changeNr + 1
- ].
+ deleteSet := OrderedCollection new.
+ changeNr := 1.
+ [changeNr < self numberOfChanges] whileTrue:[
+ thisClass := classes at:changeNr.
+ thisSelector := selectors at:changeNr.
+ searchIndex := changeNr.
+ anyMore := true.
+ [anyMore] whileTrue:[
+ searchIndex := classes indexOf:thisClass
+ startingAt:(searchIndex + 1).
+ (searchIndex ~~ 0) ifTrue:[
+ ((selectors at:searchIndex) == thisSelector) ifTrue:[
+ thisClass notNil ifTrue:[
+ deleteSet add:changeNr.
+ anyMore := false
+ ]
+ ]
+ ] ifFalse:[
+ anyMore := false
+ ]
+ ].
+ changeNr := changeNr + 1
+ ].
- "finally delete what has been found"
+ "finally delete what has been found"
- (deleteSet size > 0) ifTrue:[
- changeListView deselect.
- index := deleteSet size.
- [index > 0] whileTrue:[
- self silentDeleteChange:(deleteSet at:index).
- index := index - 1
- ].
- self setChangeList.
- "
- scroll back a bit, if we are left way behind the list
- "
- changeListView firstLineShown > self numberOfChanges ifTrue:[
- changeListView makeLineVisible:self numberOfChanges
- ].
- self clearCodeView
- ]
+ (deleteSet size > 0) ifTrue:[
+ changeListView deselect.
+ index := deleteSet size.
+ [index > 0] whileTrue:[
+ self silentDeleteChange:(deleteSet at:index).
+ index := index - 1
+ ].
+ self setChangeList.
+ "
+ scroll back a bit, if we are left way behind the list
+ "
+ changeListView firstLineShown > self numberOfChanges ifTrue:[
+ changeListView makeLineVisible:self numberOfChanges
+ ].
+ self clearCodeView
+ ]
].
self newLabel:''.
"Created: 3.12.1995 / 14:29:54 / cg"
+ "Modified: 14.12.1995 / 20:58:22 / cg"
!
doDelete
@@ -2063,5 +2070,5 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.63 1995-12-14 17:03:10 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.64 1995-12-14 20:13:04 cg Exp $'
! !