--- a/Class.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Class.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Class.st,v 1.36 1995-03-06 20:59:19 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Class.st,v 1.37 1995-03-08 23:37:23 claus Exp $
'!
!Class class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Class.st,v 1.36 1995-03-06 20:59:19 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Class.st,v 1.37 1995-03-08 23:37:23 claus Exp $
"
!
@@ -960,6 +960,22 @@
]
!
+writingChangePerform:aSelector with:anArgument
+ |aStream|
+
+ aStream := self changesStream.
+ aStream notNil ifTrue:[
+ FileStream writeErrorSignal handle:[:ex |
+ self warning:('could not update the changes-file\\' , ex errorString) withCRs.
+ ex return
+ ] do:[
+ self perform:aSelector with:anArgument with:aStream.
+ aStream cr.
+ ].
+ aStream close
+ ]
+!
+
addChangeRecordForMethod:aMethod to:aStream
"append a method-change-record to aStream"
@@ -1032,7 +1048,7 @@
aStream nextPut:(aStream class chunkSeparator).
!
-addChangeRecordForChangeCategoryTo:aStream
+addChangeRecordForChangeCategory:category to:aStream
"append a category change record to aStream"
self printClassNameOn:aStream.
@@ -1060,9 +1076,8 @@
addChangeRecordForMethod:aMethod
"add a method-change-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForMethod:aMethod to:aStream.
-
+ UpdatingChanges ifTrue:[
+ self writingChangePerform:#addChangeRecordForMethod:to: with:aMethod.
"this test allows a smalltalk without Projects/ChangeSets"
Project notNil ifTrue:[
Project addMethodChange:aMethod in:self
@@ -1073,16 +1088,16 @@
addChangeRecordForRemoveSelector:aSelector
"add a method-remove-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForRemoveSelector:aSelector to:aStream
- ]
+ self writingChangePerform:#addChangeRecordForRemoveSelector:to: with:aSelector.
!
addChangeRecordForMethodCategory:aMethod category:aString
"add a methodCategory-change-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForMethodCategory:aMethod category:aString to:aStream.
+ UpdatingChanges ifTrue:[
+ self writingChangeDo:[:aStream |
+ self addChangeRecordForMethodCategory:aMethod category:aString to:aStream.
+ ].
"this test allows a smalltalk without Projects/ChangeSets"
Project notNil ifTrue:[
@@ -1094,65 +1109,57 @@
addChangeRecordForClass:aClass
"add a class-definition-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForClass:aClass to:aStream
- ]
+ self writingChangePerform:#addChangeRecordForClass:to: with:aClass.
!
addChangeRecordForClassInstvars:aClass
"add a class-instvars-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForClassInstvars:aClass to:aStream
- ]
+ self writingChangePerform:#addChangeRecordForClassInstvars:to: with:aClass.
!
addChangeRecordForClassComment:aClass
"add a class-comment-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForClassComment:aClass to:aStream
- ]
+ self writingChangePerform:#addChangeRecordForClassComment:to: with:aClass.
!
addChangeRecordForClassRename:oldName to:newName
"add a class-rename-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForClassRename:oldName to:newName to:aStream
+ UpdatingChanges ifTrue:[
+ self writingChangeDo:[:aStream |
+ self addChangeRecordForClassRename:oldName to:newName to:aStream
+ ]
]
!
addChangeRecordForClassRemove:oldName
"add a class-remove-record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForClassRemove:oldName to:aStream
- ]
+ self writingChangePerform:#addChangeRecordForClassRemove:to: with:oldName.
!
addChangeRecordForRenameCategory:oldCategory to:newCategory
"add a category-rename record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForRenameCategory:oldCategory to:newCategory to:aStream.
+ UpdatingChanges ifTrue:[
+ self writingChangeDo:[:aStream |
+ self addChangeRecordForRenameCategory:oldCategory to:newCategory to:aStream.
+ ]
]
!
addChangeRecordForChangeCategory
"add a category change record to the changes file"
- self writingChangeDo:[:aStream |
- self addChangeRecordForChangeCategoryTo:aStream.
- ]
+ self writingChangePerform:#addChangeRecordForChangeCategory:to: with:category.
!
addInfoRecord:aMessage
"add an info-record (snapshot, class fileOut etc.) to the changes file"
- self writingChangeDo:[:aStream |
- self addInfoRecord:aMessage to:aStream
- ]
+ self writingChangePerform:#addInfoRecord:to: with:aMessage.
!
addChangeRecordForSnapshot:aFileName