--- a/ArithVal.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ArithVal.st Thu Mar 09 00:40:27 1995 +0100
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.10 1994-11-28 20:32:12 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.11 1995-03-08 23:36:06 claus Exp $
'!
!ArithmeticValue class methodsFor:'documentation' !
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.10 1994-11-28 20:32:12 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.11 1995-03-08 23:36:06 claus Exp $
"
!
@@ -78,9 +78,9 @@
"setup the signals"
DomainErrorSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- ArithmeticSignal := Object errorSignal newSignalMayProceed:false.
+ ArithmeticSignal := ErrorSignal newSignalMayProceed:false.
ArithmeticSignal nameClass:self message:#arithmeticSignal.
ArithmeticSignal notifierString:'arithmetic error'.
--- a/ArithmeticValue.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ArithmeticValue.st Thu Mar 09 00:40:27 1995 +0100
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.10 1994-11-28 20:32:12 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.11 1995-03-08 23:36:06 claus Exp $
'!
!ArithmeticValue class methodsFor:'documentation' !
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.10 1994-11-28 20:32:12 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.11 1995-03-08 23:36:06 claus Exp $
"
!
@@ -78,9 +78,9 @@
"setup the signals"
DomainErrorSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- ArithmeticSignal := Object errorSignal newSignalMayProceed:false.
+ ArithmeticSignal := ErrorSignal newSignalMayProceed:false.
ArithmeticSignal nameClass:self message:#arithmeticSignal.
ArithmeticSignal notifierString:'arithmetic error'.
--- a/ArrColl.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ArrColl.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/Attic/ArrColl.st,v 1.15 1995-03-06 19:14:42 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ArrColl.st,v 1.16 1995-03-08 23:36:39 claus Exp $
'!
!ArrayedCollection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ArrColl.st,v 1.15 1995-03-06 19:14:42 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ArrColl.st,v 1.16 1995-03-08 23:36:39 claus Exp $
"
!
@@ -169,26 +169,6 @@
"
! !
-!ArrayedCollection methodsFor:'accessing'!
-
-at:index ifAbsent:exceptionBlock
- "return the element at index.
- If the index is invalid, return the value of evaluating exceptionBlock.
- NOTICE: in ST-80, this message is only defined for Dictionaries,
- however, having a common protocol with indexed collections
- often simplifies things."
-
- (index < 1 or:[index > self size]) ifTrue:[
- ^ exceptionBlock value
- ].
- ^ self at:index
-
- "
- #(1 2 3) at:4 ifAbsent:['no such index']
- #(1 2 3) at:3 ifAbsent:['no such index']
- "
-! !
-
!ArrayedCollection methodsFor:'testing'!
includesKey:anIndex
--- a/Array.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Array.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/Array.st,v 1.21 1995-03-06 19:14:47 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Array.st,v 1.22 1995-03-08 23:36:43 claus Exp $
'!
!Array class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Array.st,v 1.21 1995-03-06 19:14:47 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Array.st,v 1.22 1995-03-08 23:36:43 claus Exp $
"
!
@@ -387,8 +387,9 @@
REGISTER OBJ t;
REGISTER int count;
- if ((_qClass(self) == Array)
- && (_Class(aCollection) == Array)
+
+ if ((_ClassInstPtr(_qClass(self))->c_ninstvars == _MKSMALLINT(0))
+ && (((t = _Class(aCollection)) == Array) || (t == _qClass(self)))
&& __bothSmallInteger(start, stop)
&& __isSmallInteger(repStart)) {
startIndex = _intVal(start) - 1;
@@ -431,7 +432,7 @@
# endif
#endif
} else {
- REGISTER int spc;
+ REGISTER int spc;
spc = _qSpace(self);
while (count-- > 0) {
@@ -480,7 +481,7 @@
/*
* first, do a quick check using ==
- * this does not need a context or method send.
+ * this does not need a context or message send.
* in many cases this will already find a match
*/
REGISTER int index;
@@ -646,7 +647,7 @@
"evaluate the argument, aBlock for each element in the collection.
- reimplemented for speed"
- |home element|
+ |home|
%{
REGISTER OBJFUNC codeVal;
REGISTER int index;
@@ -769,7 +770,7 @@
"evaluate the argument, aBlock for each element in the collection in reverse order.
- reimplemented for speed"
- |home element|
+ |home|
%{
REGISTER OBJFUNC codeVal;
REGISTER int index;
@@ -814,7 +815,7 @@
up to (and including) stop in the collection.
- reimplemented for speed"
- |home element|
+ |home|
%{
REGISTER OBJFUNC codeVal;
REGISTER int index;
@@ -863,11 +864,10 @@
} else {
for (index=indexLow; index <= indexHigh; index++) {
if (InterruptPending != nil) interruptL(__LINE__ COMMA_CON);
- element = _InstPtr(self)->i_instvars[index];
(*val.ilc_func) (aBlock,
@symbol(value:),
CON_COMMA nil, &val,
- element);
+ _InstPtr(self)->i_instvars[index]);
}
}
}
@@ -884,7 +884,7 @@
up to (and including) stop in the collection. Step in reverse order.
- reimplemented for speed"
- |home element|
+ |home|
%{
REGISTER OBJFUNC codeVal;
REGISTER int index;
@@ -933,11 +933,10 @@
} else {
for (index=indexHigh; index >= indexLow; index--) {
if (InterruptPending != nil) interruptL(__LINE__ COMMA_CON);
- element = _InstPtr(self)->i_instvars[index];
(*val.ilc_func) (aBlock,
@symbol(value:),
CON_COMMA nil, &val,
- element);
+ _InstPtr(self)->i_instvars[index]);
}
}
}
@@ -952,13 +951,15 @@
nonNilElementsDo:aBlock
"evaluate the argument, aBlock for each non-nil element"
- |home element|
+ |home|
%{
REGISTER OBJFUNC codeVal;
REGISTER int index;
int nIndex;
extern OBJ Block;
static struct inlineCache val = _ILC1;
+ REGISTER OBJ rHome;
+ REGISTER OBJ element;
index = _intVal(_ClassInstPtr(_qClass(self))->c_ninstvars);
nIndex = __BYTES2OBJS__(_qSize(self) - OHDR_SIZE);
@@ -975,12 +976,26 @@
}
#else
home = _BlockInstPtr(aBlock)->b_home;
- for (; index < nIndex; index++) {
- if (InterruptPending != nil) interrupt(CONARG);
+ rHome = home;
+ if ((rHome == nil) || (_qSpace(rHome) >= STACKSPACE)) {
+ /*
+ * home will not move - keep in in a register
+ */
+ for (; index < nIndex; index++) {
+ if (InterruptPending != nil) interrupt(CONARG);
- element = _InstPtr(self)->i_instvars[index];
- if (element != nil)
- (*codeVal)(home, CON_COMMA element);
+ element = _InstPtr(self)->i_instvars[index];
+ if (element != nil)
+ (*codeVal)(home, CON_COMMA element);
+ }
+ } else {
+ for (; index < nIndex; index++) {
+ if (InterruptPending != nil) interrupt(CONARG);
+
+ element = _InstPtr(self)->i_instvars[index];
+ if (element != nil)
+ (*codeVal)(home, CON_COMMA element);
+ }
}
#endif
} else {
--- a/ArrayedCollection.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ArrayedCollection.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/ArrayedCollection.st,v 1.15 1995-03-06 19:14:42 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.16 1995-03-08 23:36:39 claus Exp $
'!
!ArrayedCollection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.15 1995-03-06 19:14:42 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.16 1995-03-08 23:36:39 claus Exp $
"
!
@@ -169,26 +169,6 @@
"
! !
-!ArrayedCollection methodsFor:'accessing'!
-
-at:index ifAbsent:exceptionBlock
- "return the element at index.
- If the index is invalid, return the value of evaluating exceptionBlock.
- NOTICE: in ST-80, this message is only defined for Dictionaries,
- however, having a common protocol with indexed collections
- often simplifies things."
-
- (index < 1 or:[index > self size]) ifTrue:[
- ^ exceptionBlock value
- ].
- ^ self at:index
-
- "
- #(1 2 3) at:4 ifAbsent:['no such index']
- #(1 2 3) at:3 ifAbsent:['no such index']
- "
-! !
-
!ArrayedCollection methodsFor:'testing'!
includesKey:anIndex
--- a/Autoload.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Autoload.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.17 1995-02-15 11:29:30 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.18 1995-03-08 23:36:49 claus Exp $
'!
!Autoload class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.17 1995-02-15 11:29:30 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.18 1995-03-08 23:36:49 claus Exp $
"
!
@@ -75,9 +75,9 @@
initialize
AutoloadFailedSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- AutoloadFailedSignal := Object errorSignal newSignalMayProceed:true.
+ AutoloadFailedSignal := ErrorSignal newSignalMayProceed:true.
AutoloadFailedSignal nameClass:self message:#autoloadFailedSignal.
AutoloadFailedSignal notifierString:'autoload failed '.
--- a/Block.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Block.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/Block.st,v 1.27 1995-02-15 10:21:19 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Block.st,v 1.28 1995-03-08 23:36:57 claus Exp $
'!
!Block class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Block.st,v 1.27 1995-02-15 10:21:19 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Block.st,v 1.28 1995-03-08 23:36:57 claus Exp $
"
!
@@ -99,9 +99,9 @@
"setup the signals"
InvalidNewSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[Object initialize].
- InvalidNewSignal := Object errorSignal newSignalMayProceed:false.
+ InvalidNewSignal := ErrorSignal newSignalMayProceed:false.
InvalidNewSignal nameClass:self message:#invalidNewSignal.
InvalidNewSignal notifierString:'blocks are only created by the system'.
]
--- a/Character.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Character.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Character.st,v 1.14 1995-02-15 10:21:27 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Character.st,v 1.15 1995-03-08 23:37:17 claus Exp $
'!
!Character class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Character.st,v 1.14 1995-02-15 10:21:27 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Character.st,v 1.15 1995-03-08 23:37:17 claus Exp $
"
!
@@ -327,7 +327,10 @@
identityHash
"return an integer useful for hashing on identity"
- ^ 4096 + asciivalue
+ asciivalue <= 255 ifTrue:[
+ ^ 4096 + asciivalue
+ ].
+ ^ super identityHash
! !
!Character methodsFor: 'arithmetic'!
--- 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
--- a/Coll.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Coll.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/Attic/Coll.st,v 1.25 1995-03-06 19:15:31 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.26 1995-03-08 23:37:32 claus Exp $
'!
!Collection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.25 1995-03-06 19:15:31 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.26 1995-03-08 23:37:32 claus Exp $
"
!
@@ -64,13 +64,13 @@
"setup the signal"
InvalidKeySignal isNil ifTrue:[
- super initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- InvalidKeySignal := Object errorSignal newSignalMayProceed:true.
+ InvalidKeySignal := ErrorSignal newSignalMayProceed:true.
InvalidKeySignal nameClass:self message:#invalidKeySignal.
InvalidKeySignal notifierString:'invalid key'.
- EmptyCollectionSignal := Object errorSignal newSignalMayProceed:true.
+ EmptyCollectionSignal := ErrorSignal newSignalMayProceed:true.
EmptyCollectionSignal nameClass:self message:#emptyCollectionSignal.
EmptyCollectionSignal notifierString:'operation not allowed for empty collections'.
]
--- a/Collection.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Collection.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/Collection.st,v 1.25 1995-03-06 19:15:31 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.26 1995-03-08 23:37:32 claus Exp $
'!
!Collection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.25 1995-03-06 19:15:31 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.26 1995-03-08 23:37:32 claus Exp $
"
!
@@ -64,13 +64,13 @@
"setup the signal"
InvalidKeySignal isNil ifTrue:[
- super initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- InvalidKeySignal := Object errorSignal newSignalMayProceed:true.
+ InvalidKeySignal := ErrorSignal newSignalMayProceed:true.
InvalidKeySignal nameClass:self message:#invalidKeySignal.
InvalidKeySignal notifierString:'invalid key'.
- EmptyCollectionSignal := Object errorSignal newSignalMayProceed:true.
+ EmptyCollectionSignal := ErrorSignal newSignalMayProceed:true.
EmptyCollectionSignal nameClass:self message:#emptyCollectionSignal.
EmptyCollectionSignal notifierString:'operation not allowed for empty collections'.
]
--- a/CompCode.st Tue Mar 07 22:55:20 1995 +0100
+++ b/CompCode.st Thu Mar 09 00:40:27 1995 +0100
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.9 1995-02-16 02:58:53 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
'!
!CompiledCode class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.9 1995-02-16 02:58:53 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
"
!
@@ -79,7 +79,7 @@
initialize
NoByteCodeSignal isNil ifTrue:[
- ExecutableFunction initialize.
+ ExecutionErrorSignal isNil ifTrue:[super initialize].
NoByteCodeSignal := ExecutionErrorSignal newSignalMayProceed:true.
NoByteCodeSignal nameClass:self message:#noByteCodeSignal.
--- a/CompiledCode.st Tue Mar 07 22:55:20 1995 +0100
+++ b/CompiledCode.st Thu Mar 09 00:40:27 1995 +0100
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.9 1995-02-16 02:58:53 claus Exp $
+$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
'!
!CompiledCode class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.9 1995-02-16 02:58:53 claus Exp $
+$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
"
!
@@ -79,7 +79,7 @@
initialize
NoByteCodeSignal isNil ifTrue:[
- ExecutableFunction initialize.
+ ExecutionErrorSignal isNil ifTrue:[super initialize].
NoByteCodeSignal := ExecutionErrorSignal newSignalMayProceed:true.
NoByteCodeSignal nameClass:self message:#noByteCodeSignal.
--- a/Context.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Context.st Thu Mar 09 00:40:27 1995 +0100
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Context.st,v 1.25 1995-03-06 19:15:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Context.st,v 1.26 1995-03-08 23:37:48 claus Exp $
'!
!Context class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Context.st,v 1.25 1995-03-06 19:15:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Context.st,v 1.26 1995-03-08 23:37:48 claus Exp $
"
!
@@ -128,9 +128,9 @@
initialize
InvalidReturnSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[Object initialize].
- InvalidReturnSignal := Object errorSignal newSignalMayProceed:true.
+ InvalidReturnSignal := ErrorSignal newSignalMayProceed:true.
InvalidReturnSignal nameClass:self message:#invalidReturnSignal.
InvalidReturnSignal notifierString:'invalid return; method cannot return twice'.
]
--- a/Dict.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Dict.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/Dict.st,v 1.18 1995-03-06 19:15:52 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/Dict.st,v 1.19 1995-03-08 23:37:55 claus Exp $
'!
!Dictionary class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/Dict.st,v 1.18 1995-03-06 19:15:52 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/Dict.st,v 1.19 1995-03-08 23:37:55 claus Exp $
"
!
@@ -372,8 +372,15 @@
!Dictionary methodsFor:'enumerating'!
+keysDo:aBlock
+ "perform the block for all keys in the collection."
+
+ ^ super do:aBlock
+!
+
allKeysDo:aBlock
- "perform the block for all keys in the collection."
+ "perform the block for all keys in the collection.
+ Obsolete: use keysDo: for ST-80 compatibility."
^ super do:aBlock
!
--- a/Dictionary.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Dictionary.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.18 1995-03-06 19:15:52 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.19 1995-03-08 23:37:55 claus Exp $
'!
!Dictionary class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.18 1995-03-06 19:15:52 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.19 1995-03-08 23:37:55 claus Exp $
"
!
@@ -372,8 +372,15 @@
!Dictionary methodsFor:'enumerating'!
+keysDo:aBlock
+ "perform the block for all keys in the collection."
+
+ ^ super do:aBlock
+!
+
allKeysDo:aBlock
- "perform the block for all keys in the collection."
+ "perform the block for all keys in the collection.
+ Obsolete: use keysDo: for ST-80 compatibility."
^ super do:aBlock
!
--- a/Exception.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Exception.st Thu Mar 09 00:40:27 1995 +0100
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.17 1995-02-16 02:58:46 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.18 1995-03-08 23:38:01 claus Exp $
'!
!Exception class methodsFor:'documentation'!
@@ -45,7 +45,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.17 1995-02-16 02:58:46 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.18 1995-03-08 23:38:01 claus Exp $
"
!
@@ -123,9 +123,9 @@
"setup the signal used to handle unhandled signals"
RecursiveExceptionSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- RecursiveExceptionSignal := Object errorSignal newSignalMayProceed:false.
+ RecursiveExceptionSignal := ErrorSignal newSignalMayProceed:false.
RecursiveExceptionSignal nameClass:self message:#recursiveExceptionSignal.
RecursiveExceptionSignal notifierString:'recursive signal raise in handler'
]
--- a/ExecFunc.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ExecFunc.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.8 1995-02-15 10:21:51 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.9 1995-03-08 23:38:07 claus Exp $
'!
!ExecutableFunction class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.8 1995-02-15 10:21:51 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.9 1995-03-08 23:38:07 claus Exp $
"
!
@@ -82,7 +82,7 @@
initialize
InvalidCodeSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[Object initialize].
ExecutionErrorSignal := ErrorSignal newSignalMayProceed:true.
ExecutionErrorSignal nameClass:self message:#executionErrorSignal.
--- a/ExecutableFunction.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ExecutableFunction.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.8 1995-02-15 10:21:51 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.9 1995-03-08 23:38:07 claus Exp $
'!
!ExecutableFunction class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.8 1995-02-15 10:21:51 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.9 1995-03-08 23:38:07 claus Exp $
"
!
@@ -82,7 +82,7 @@
initialize
InvalidCodeSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[Object initialize].
ExecutionErrorSignal := ErrorSignal newSignalMayProceed:true.
ExecutionErrorSignal nameClass:self message:#executionErrorSignal.
--- a/ExtStream.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ExtStream.st Thu Mar 09 00:40:27 1995 +0100
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.30 1995-03-07 21:54:32 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.31 1995-03-08 23:38:13 claus Exp $
'!
!ExternalStream primitiveDefinitions!
@@ -87,7 +87,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.30 1995-03-07 21:54:32 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.31 1995-03-08 23:38:13 claus Exp $
"
!
@@ -178,9 +178,9 @@
initialize
StreamErrorSignal isNil ifTrue:[
- super initialize.
-
- StreamErrorSignal := Object errorSignal newSignalMayProceed:false.
+ ErrorSignal isNil ifTrue:[super initialize].
+
+ StreamErrorSignal := ErrorSignal newSignalMayProceed:false.
StreamErrorSignal nameClass:self message:#streamErrorSignal.
StreamErrorSignal notifierString:'I/O error'.
--- a/ExternalStream.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ExternalStream.st Thu Mar 09 00:40:27 1995 +0100
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.30 1995-03-07 21:54:32 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.31 1995-03-08 23:38:13 claus Exp $
'!
!ExternalStream primitiveDefinitions!
@@ -87,7 +87,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.30 1995-03-07 21:54:32 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.31 1995-03-08 23:38:13 claus Exp $
"
!
@@ -178,9 +178,9 @@
initialize
StreamErrorSignal isNil ifTrue:[
- super initialize.
-
- StreamErrorSignal := Object errorSignal newSignalMayProceed:false.
+ ErrorSignal isNil ifTrue:[super initialize].
+
+ StreamErrorSignal := ErrorSignal newSignalMayProceed:false.
StreamErrorSignal nameClass:self message:#streamErrorSignal.
StreamErrorSignal notifierString:'I/O error'.
--- a/Fraction.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Fraction.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/Fraction.st,v 1.14 1995-03-06 19:16:09 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.15 1995-03-08 23:38:25 claus Exp $
'!
!Fraction class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.14 1995-03-06 19:16:09 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.15 1995-03-08 23:38:25 claus Exp $
"
!
@@ -58,8 +58,10 @@
!Fraction class methodsFor:'initialization'!
initialize
- FractionZero := self numerator:0 denominator:1.
- FractionOne := self numerator:1 denominator:1
+ FractionZero isNil ifTrue:[
+ FractionZero := self numerator:0 denominator:1.
+ FractionOne := self numerator:1 denominator:1
+ ]
! !
!Fraction class methodsFor:'constants'!
--- a/Method.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Method.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/Method.st,v 1.28 1995-02-21 01:05:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.29 1995-03-08 23:38:42 claus Exp $
'!
!Method class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.28 1995-02-21 01:05:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.29 1995-03-08 23:38:42 claus Exp $
"
!
@@ -127,7 +127,7 @@
initialize
PrivateMethodSignal isNil ifTrue:[
- CompiledCode initialize.
+ ExecutionErrorSignal isNil ifTrue:[super initialize].
"EXPERIMENTAL"
PrivateMethodSignal := ExecutionErrorSignal newSignalMayProceed:true.
--- a/ObjMem.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ObjMem.st Thu Mar 09 00:40:27 1995 +0100
@@ -33,7 +33,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.29 1995-03-06 19:17:00 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.30 1995-03-08 23:38:52 claus Exp $
'!
!ObjectMemory class methodsFor:'documentation'!
@@ -54,7 +54,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.29 1995-03-06 19:17:00 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.30 1995-03-08 23:38:52 claus Exp $
"
!
@@ -403,9 +403,9 @@
"initialize the class"
AllocationFailureSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- AllocationFailureSignal := Object errorSignal newSignalMayProceed:true.
+ AllocationFailureSignal := ErrorSignal newSignalMayProceed:true.
AllocationFailureSignal nameClass:self message:#allocationFailureSignal.
AllocationFailureSignal notifierString:'allocation failure'.
--- a/ObjectMemory.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ObjectMemory.st Thu Mar 09 00:40:27 1995 +0100
@@ -33,7 +33,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.29 1995-03-06 19:17:00 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.30 1995-03-08 23:38:52 claus Exp $
'!
!ObjectMemory class methodsFor:'documentation'!
@@ -54,7 +54,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.29 1995-03-06 19:17:00 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.30 1995-03-08 23:38:52 claus Exp $
"
!
@@ -403,9 +403,9 @@
"initialize the class"
AllocationFailureSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- AllocationFailureSignal := Object errorSignal newSignalMayProceed:true.
+ AllocationFailureSignal := ErrorSignal newSignalMayProceed:true.
AllocationFailureSignal nameClass:self message:#allocationFailureSignal.
AllocationFailureSignal notifierString:'allocation failure'.
--- a/PipeStr.st Tue Mar 07 22:55:20 1995 +0100
+++ b/PipeStr.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/Attic/PipeStr.st,v 1.19 1995-02-18 18:29:48 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.20 1995-03-08 23:39:02 claus Exp $
'!
!PipeStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.19 1995-02-18 18:29:48 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.20 1995-03-08 23:39:02 claus Exp $
"
!
@@ -108,9 +108,9 @@
"setup the signal"
BrokenPipeSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- BrokenPipeSignal := Object errorSignal newSignalMayProceed:true.
+ BrokenPipeSignal := ErrorSignal newSignalMayProceed:true.
BrokenPipeSignal nameClass:self message:#brokenPipeSignal.
BrokenPipeSignal notifierString:'write on a pipe with no one to read'.
]
--- a/PipeStream.st Tue Mar 07 22:55:20 1995 +0100
+++ b/PipeStream.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/PipeStream.st,v 1.19 1995-02-18 18:29:48 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.20 1995-03-08 23:39:02 claus Exp $
'!
!PipeStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.19 1995-02-18 18:29:48 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.20 1995-03-08 23:39:02 claus Exp $
"
!
@@ -108,9 +108,9 @@
"setup the signal"
BrokenPipeSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- BrokenPipeSignal := Object errorSignal newSignalMayProceed:true.
+ BrokenPipeSignal := ErrorSignal newSignalMayProceed:true.
BrokenPipeSignal nameClass:self message:#brokenPipeSignal.
BrokenPipeSignal notifierString:'write on a pipe with no one to read'.
]
--- a/Point.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Point.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/Point.st,v 1.17 1995-03-06 19:17:33 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Point.st,v 1.18 1995-03-08 23:39:08 claus Exp $
'!
!Point class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Point.st,v 1.17 1995-03-06 19:17:33 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Point.st,v 1.18 1995-03-08 23:39:08 claus Exp $
"
!
@@ -64,8 +64,10 @@
!Point class methodsFor:'initialization'!
initialize
- PointZero := 0 @ 0.
- PointOne := 1 @ 1
+ PointZero isNil ifTrue:[
+ PointZero := 0 @ 0.
+ PointOne := 1 @ 1
+ ]
! !
!Point class methodsFor:'constants'!
--- a/PosStream.st Tue Mar 07 22:55:20 1995 +0100
+++ b/PosStream.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/Attic/PosStream.st,v 1.22 1995-02-26 18:13:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
'!
!PositionableStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.22 1995-02-26 18:13:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
"
!
@@ -61,9 +61,9 @@
"setup the signal used to handle errors during fileIn"
ErrorDuringFileInSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- ErrorDuringFileInSignal := Object errorSignal newSignalMayProceed:true.
+ ErrorDuringFileInSignal := ErrorSignal newSignalMayProceed:true.
ErrorDuringFileInSignal nameClass:self message:#errorDuringFileInSignal.
ErrorDuringFileInSignal notifierString:'error during fileIn'.
--- a/PositionableStream.st Tue Mar 07 22:55:20 1995 +0100
+++ b/PositionableStream.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/PositionableStream.st,v 1.22 1995-02-26 18:13:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
'!
!PositionableStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.22 1995-02-26 18:13:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
"
!
@@ -61,9 +61,9 @@
"setup the signal used to handle errors during fileIn"
ErrorDuringFileInSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- ErrorDuringFileInSignal := Object errorSignal newSignalMayProceed:true.
+ ErrorDuringFileInSignal := ErrorSignal newSignalMayProceed:true.
ErrorDuringFileInSignal nameClass:self message:#errorDuringFileInSignal.
ErrorDuringFileInSignal notifierString:'error during fileIn'.
--- a/ProcSched.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ProcSched.st Thu Mar 09 00:40:27 1995 +0100
@@ -17,7 +17,8 @@
readFdArray readSemaphoreArray readCheckArray
writeFdArray writeSemaphoreArray
timeoutArray timeoutActionArray timeoutProcessArray timeoutSemaphoreArray
- idleActions anyTimeouts dispatching interruptedProcess'
+ idleActions anyTimeouts dispatching interruptedProcess
+ useIOInterrupts'
classVariableNames:'KnownProcesses KnownProcessIds
PureEventDriven
UserSchedulingPriority
@@ -33,7 +34,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.31 1995-02-19 16:14:17 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.32 1995-03-08 23:39:20 claus Exp $
'!
Smalltalk at:#Processor put:nil!
@@ -56,7 +57,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.31 1995-02-19 16:14:17 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.32 1995-03-08 23:39:20 claus Exp $
"
!
@@ -86,7 +87,8 @@
system, where either a process is forked, or a timeout is used instead
(for examples, see ProcessMonitor or MemoryMonitor).
- This pure-event mode may not be supported in the future.
+ This pure-event mode may not be supported in the future (actually, it is no longer
+ maintained in places where was present).
class variables:
@@ -457,6 +459,7 @@
timeoutProcessArray := Array with:nil.
anyTimeouts := false.
dispatching := false.
+ useIOInterrupts := OperatingSystem supportsIOInterrupts.
"
handcraft the first (dispatcher-) process - this one will never
@@ -1053,8 +1056,8 @@
].
"first do a quick check for semaphores using checkActions - this is needed for
- devices like X-connection, where some events might be in the event
- queue. Without these, a select might block even though there is work to do
+ devices like the X-connection, where some events might be in the event
+ queue. Without these checks, a select might block even though there is work to do
"
any := false.
nActions := readCheckArray size.
@@ -1083,18 +1086,21 @@
pri := p priority.
- "want to give control to the process p.
+ "
+ want to give control to the process p.
If the switched-to processes priority is lower than the
userSchedulingPriority, we have to make certain, that the
next input or timer will bring us back for a reschedule.
This is done by enabling ioInterrupts for all file descriptors.
- If ioInterrupts are not available, we schedule a timer interrupt
- to interrupt us after 1/20s of a second - effectively polling
- the filedescriptors. - which is very bad, since low prio processes
- will be hurt in performance
- - dont let benchmarks run with low prio ...
+ If ioInterrupts are not available (OS does not support them),
+ we schedule a timer interrupt to interrupt us after 1/20s of a second
+ - effectively polling the filedescriptors 20 times a second.
+ (which is bad, since low prio processes will be hurt in performance)
+ Therefore, dont let benchmarks run with low prio ...
+
Higher prio processes must be suspended,
- same prio ones must yield or suspend to get back control"
+ same prio ones must yield or suspend to get back control
+ "
"
uncommenting this will make timeouts interrupt the current process
@@ -1115,7 +1121,7 @@
"
if the process to run has a lower than UserInterruptPriority,
- arrange for an interrupt to occur on IO.
+ arrange for an interrupt to occur on I/O.
This is done by enabling IO-signals (if the OS supports them)
or by installing a poll-interrupt after 50ms (if the OS does not).
"
@@ -1128,7 +1134,7 @@
].
"---"
- OperatingSystem supportsIOInterrupts ifTrue:[
+ useIOInterrupts ifTrue:[
readFdArray do:[:fd |
fd notNil ifTrue:[
OperatingSystem enableIOInterruptsOn:fd
@@ -1187,7 +1193,7 @@
|aTime now delta minDelta n "{ Class: SmallInteger }"|
"find next timeout. since there are usually not many, just search.
- If there where many, the list should be kept sorted ... keeping deltas
+ If there were many, the list should be kept sorted ... keeping deltas
to next (as in Unix kernel)"
n := timeoutArray size.
--- a/Process.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Process.st Thu Mar 09 00:40:27 1995 +0100
@@ -15,7 +15,7 @@
restartable interruptActions
exitAction exitSemaphore suspendSemaphore
singleStepping emergencySignalHandler'
- classVariableNames:'TerminateSignal'
+ classVariableNames:'TerminateSignal CoughtSignals'
poolDictionaries:''
category:'Kernel-Processes'
!
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Process.st,v 1.20 1995-02-15 10:24:43 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Process.st,v 1.21 1995-03-08 23:39:27 claus Exp $
'!
!Process class methodsFor:'documentation'!
@@ -45,7 +45,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Process.st,v 1.20 1995-02-15 10:24:43 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Process.st,v 1.21 1995-03-08 23:39:27 claus Exp $
"
!
@@ -198,9 +198,13 @@
initialize
TerminateSignal isNil ifTrue:[
+ AbortSignal isNil ifTrue:[super initialize].
+
TerminateSignal := Signal new mayProceed:true.
TerminateSignal nameClass:self message:#terminateSignal.
TerminateSignal notifierString:'unhandled process termination'.
+
+ CoughtSignals := SignalSet with:AbortSignal with:TerminateSignal.
]
! !
@@ -508,8 +512,7 @@
name := '(' , startBlock displayString , ')'
].
startBlock := nil.
- (SignalSet with:TerminateSignal with:AbortSignal)
- handle:[:ex |
+ CoughtSignals handle:[:ex |
ex return
] do:block.
--- a/ProcessorScheduler.st Tue Mar 07 22:55:20 1995 +0100
+++ b/ProcessorScheduler.st Thu Mar 09 00:40:27 1995 +0100
@@ -17,7 +17,8 @@
readFdArray readSemaphoreArray readCheckArray
writeFdArray writeSemaphoreArray
timeoutArray timeoutActionArray timeoutProcessArray timeoutSemaphoreArray
- idleActions anyTimeouts dispatching interruptedProcess'
+ idleActions anyTimeouts dispatching interruptedProcess
+ useIOInterrupts'
classVariableNames:'KnownProcesses KnownProcessIds
PureEventDriven
UserSchedulingPriority
@@ -33,7 +34,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.31 1995-02-19 16:14:17 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.32 1995-03-08 23:39:20 claus Exp $
'!
Smalltalk at:#Processor put:nil!
@@ -56,7 +57,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.31 1995-02-19 16:14:17 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.32 1995-03-08 23:39:20 claus Exp $
"
!
@@ -86,7 +87,8 @@
system, where either a process is forked, or a timeout is used instead
(for examples, see ProcessMonitor or MemoryMonitor).
- This pure-event mode may not be supported in the future.
+ This pure-event mode may not be supported in the future (actually, it is no longer
+ maintained in places where was present).
class variables:
@@ -457,6 +459,7 @@
timeoutProcessArray := Array with:nil.
anyTimeouts := false.
dispatching := false.
+ useIOInterrupts := OperatingSystem supportsIOInterrupts.
"
handcraft the first (dispatcher-) process - this one will never
@@ -1053,8 +1056,8 @@
].
"first do a quick check for semaphores using checkActions - this is needed for
- devices like X-connection, where some events might be in the event
- queue. Without these, a select might block even though there is work to do
+ devices like the X-connection, where some events might be in the event
+ queue. Without these checks, a select might block even though there is work to do
"
any := false.
nActions := readCheckArray size.
@@ -1083,18 +1086,21 @@
pri := p priority.
- "want to give control to the process p.
+ "
+ want to give control to the process p.
If the switched-to processes priority is lower than the
userSchedulingPriority, we have to make certain, that the
next input or timer will bring us back for a reschedule.
This is done by enabling ioInterrupts for all file descriptors.
- If ioInterrupts are not available, we schedule a timer interrupt
- to interrupt us after 1/20s of a second - effectively polling
- the filedescriptors. - which is very bad, since low prio processes
- will be hurt in performance
- - dont let benchmarks run with low prio ...
+ If ioInterrupts are not available (OS does not support them),
+ we schedule a timer interrupt to interrupt us after 1/20s of a second
+ - effectively polling the filedescriptors 20 times a second.
+ (which is bad, since low prio processes will be hurt in performance)
+ Therefore, dont let benchmarks run with low prio ...
+
Higher prio processes must be suspended,
- same prio ones must yield or suspend to get back control"
+ same prio ones must yield or suspend to get back control
+ "
"
uncommenting this will make timeouts interrupt the current process
@@ -1115,7 +1121,7 @@
"
if the process to run has a lower than UserInterruptPriority,
- arrange for an interrupt to occur on IO.
+ arrange for an interrupt to occur on I/O.
This is done by enabling IO-signals (if the OS supports them)
or by installing a poll-interrupt after 50ms (if the OS does not).
"
@@ -1128,7 +1134,7 @@
].
"---"
- OperatingSystem supportsIOInterrupts ifTrue:[
+ useIOInterrupts ifTrue:[
readFdArray do:[:fd |
fd notNil ifTrue:[
OperatingSystem enableIOInterruptsOn:fd
@@ -1187,7 +1193,7 @@
|aTime now delta minDelta n "{ Class: SmallInteger }"|
"find next timeout. since there are usually not many, just search.
- If there where many, the list should be kept sorted ... keeping deltas
+ If there were many, the list should be kept sorted ... keeping deltas
to next (as in Unix kernel)"
n := timeoutArray size.
--- a/Registry.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Registry.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Registry.st,v 1.12 1995-03-07 21:55:20 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Registry.st,v 1.13 1995-03-08 23:39:36 claus Exp $
'!
!Registry class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Registry.st,v 1.12 1995-03-07 21:55:20 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Registry.st,v 1.13 1995-03-08 23:39:36 claus Exp $
"
!
@@ -100,9 +100,7 @@
"evaluate aBlock for each registered object"
registeredObjects notNil ifTrue:[
- registeredObjects nonNilElementsDo:[:o |
- aBlock value:o
- ]
+ registeredObjects nonNilElementsDo:aBlock
]
! !
--- a/Semaphore.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Semaphore.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.15 1995-02-18 18:30:02 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.16 1995-03-08 23:39:40 claus Exp $
'!
!Semaphore class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.15 1995-02-18 18:30:02 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.16 1995-03-08 23:39:40 claus Exp $
"
!
@@ -122,16 +122,9 @@
^ self
].
- wasBlocked := OperatingSystem blockInterrupts.
+ current := Processor activeProcess.
- current := Processor activeProcess.
- waitingProcesses isNil ifTrue:[
- waitingProcesses := OrderedCollection with:current
- ] ifFalse:[
- waitingProcesses add:current
- ].
-"/ self add:current.
-
+ wasBlocked := OperatingSystem blockInterrupts.
"
need a while-loop here, since more than one process may
wait for it and another one may also wake up.
@@ -139,6 +132,12 @@
suspend.
"
[count == 0] whileTrue:[
+ waitingProcesses isNil ifTrue:[
+ waitingProcesses := OrderedCollection with:current
+ ] ifFalse:[
+ waitingProcesses add:current
+ ].
+"/ self add:current.
"
for some more descriptive info in processMonitor ...
(notice that state could already be #ioWait, #timeWait or anything else)
@@ -176,6 +175,8 @@
^ false
].
+ current := Processor activeProcess.
+
wasBlocked := OperatingSystem blockInterrupts.
"
@@ -184,14 +185,6 @@
now := OperatingSystem getMillisecondTime.
endTime := OperatingSystem millisecondTimeAdd:now and:(seconds * 1000).
- current := Processor activeProcess.
- waitingProcesses isNil ifTrue:[
- waitingProcesses := OrderedCollection with:current
- ] ifFalse:[
- waitingProcesses add:current
- ].
-"/ self add:current.
-
unblock := [timeoutOccured := true. Processor resume:current].
Processor addTimedBlock:unblock for:current atMilliseconds:endTime.
@@ -202,6 +195,13 @@
suspend.
"
[count == 0] whileTrue:[
+ waitingProcesses isNil ifTrue:[
+ waitingProcesses := OrderedCollection with:current
+ ] ifFalse:[
+ waitingProcesses add:current
+ ].
+"/ self add:current.
+
"
for some more descriptive info in processMonitor ...
(notice that state could already be #ioWait or #timeWait)
--- a/SeqColl.st Tue Mar 07 22:55:20 1995 +0100
+++ b/SeqColl.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/Attic/SeqColl.st,v 1.25 1995-03-06 19:17:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/SeqColl.st,v 1.26 1995-03-08 23:39:46 claus Exp $
'!
!SequenceableCollection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/SeqColl.st,v 1.25 1995-03-06 19:17:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/SeqColl.st,v 1.26 1995-03-08 23:39:46 claus Exp $
"
!
@@ -85,7 +85,11 @@
at:index ifAbsent:exceptionBlock
"return the element at index if valid.
If the index is invalid, return the result of evaluating
- the exceptionblock."
+ the exceptionblock.
+ NOTICE:
+ in ST-80, this message is only defined for Dictionaries,
+ however, having a common protocol with indexed collections
+ often simplifies things."
((index < 1) or:[index > self size]) ifTrue:[
^ exceptionBlock value
@@ -94,6 +98,8 @@
"
#(1 2 3) at:4 ifAbsent:['no such index']
+ #(1 2 3) asOrderedCollection at:4 ifAbsent:['no such index']
+
(Dictionary with:(#foo -> #bar)
with:(#frob -> #baz))
at:#foobar ifAbsent:['no such index']
--- a/SequenceableCollection.st Tue Mar 07 22:55:20 1995 +0100
+++ b/SequenceableCollection.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/SequenceableCollection.st,v 1.25 1995-03-06 19:17:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.26 1995-03-08 23:39:46 claus Exp $
'!
!SequenceableCollection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.25 1995-03-06 19:17:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.26 1995-03-08 23:39:46 claus Exp $
"
!
@@ -85,7 +85,11 @@
at:index ifAbsent:exceptionBlock
"return the element at index if valid.
If the index is invalid, return the result of evaluating
- the exceptionblock."
+ the exceptionblock.
+ NOTICE:
+ in ST-80, this message is only defined for Dictionaries,
+ however, having a common protocol with indexed collections
+ often simplifies things."
((index < 1) or:[index > self size]) ifTrue:[
^ exceptionBlock value
@@ -94,6 +98,8 @@
"
#(1 2 3) at:4 ifAbsent:['no such index']
+ #(1 2 3) asOrderedCollection at:4 ifAbsent:['no such index']
+
(Dictionary with:(#foo -> #bar)
with:(#frob -> #baz))
at:#foobar ifAbsent:['no such index']
--- a/Set.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Set.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Set.st,v 1.14 1995-02-15 10:24:56 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Set.st,v 1.15 1995-03-08 23:39:52 claus Exp $
'!
!Set class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Set.st,v 1.14 1995-02-15 10:24:56 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Set.st,v 1.15 1995-03-08 23:39:52 claus Exp $
"
!
@@ -112,20 +112,24 @@
"return a good array size for the given argument.
Returns the next prime after arg, since prime sizes are good for hashing."
+ |n|
+
arg <= 11 ifTrue:[^ 11].
+ n := arg * 3 // 2.
+
"
mhmh - this returns good numbers for collections with up-to about
500k elements; if you have bigger ones, add some more primes here ...
"
- arg <= 524288 ifTrue:[
+ n <= 524288 ifTrue:[
"2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288"
- ^ #(11 11 11 17 37 67 131 257 521 1031 2053 4099 8209 16411 32771 65537 131101 262147 524309) at:(arg highBit)
+ ^ #(11 11 11 17 37 67 131 257 521 1031 2053 4099 8209 16411 32771 65537 131101 262147 524309) at:(n highBit)
].
"
make it odd - at least
"
- ^ arg bitOr:1
+ ^ n bitOr:1
! !
!Set methodsFor:'copying'!
--- a/Signal.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Signal.st Thu Mar 09 00:40:27 1995 +0100
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.18 1995-02-16 16:24:46 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.19 1995-03-08 23:39:56 claus Exp $
'!
!Signal class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.18 1995-02-16 16:24:46 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.19 1995-03-08 23:39:56 claus Exp $
"
!
@@ -137,12 +137,11 @@
"setup the signal used to handle unhandled signals"
NoHandlerSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- NoHandlerSignal := Object errorSignal newSignalMayProceed:true.
+ NoHandlerSignal := ErrorSignal newSignalMayProceed:true.
NoHandlerSignal nameClass:self message:#noHandlerSignal.
NoHandlerSignal notifierString:'unhandled exception'.
-
]
! !
--- a/Smalltalk.st Tue Mar 07 22:55:20 1995 +0100
+++ b/Smalltalk.st Thu Mar 09 00:40:27 1995 +0100
@@ -26,7 +26,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.35 1995-03-01 01:42:40 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.36 1995-03-08 23:40:04 claus Exp $
'!
"
@@ -55,7 +55,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.35 1995-03-01 01:42:40 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.36 1995-03-08 23:40:04 claus Exp $
"
!
@@ -131,7 +131,7 @@
"return the revision number.
Incremented for releases which fix bugs/add features."
- ^ 4
+ ^ 5
"
Smalltalk revision
@@ -761,7 +761,7 @@
keyAtValue:anObject
"return the symbol under which anObject is stored - or nil"
- self allKeysDo:[:aKey |
+ self keysDo:[:aKey |
(self at:aKey) == anObject ifTrue:[^ aKey]
]
@@ -774,7 +774,7 @@
|keys|
keys := IdentitySet new.
- self allKeysDo:[:k | keys add:k].
+ self keysDo:[:k | keys add:k].
^ keys
! !
@@ -980,18 +980,24 @@
%}
!
-allKeysDo:aBlock
+keysDo:aBlock
"evaluate the argument, aBlock for all keys in the Smalltalk dictionary"
%{
_GLOBALKEYS_DO(&aBlock COMMA_CON);
%}
!
+allKeysDo:aBlock
+ "evaluate the argument, aBlock for all keys in the Smalltalk dictionary"
+
+ ^ self keysDo:aBlock
+!
+
associationsDo:aBlock
"evaluate the argument, aBlock for all key/value pairs
in the Smalltalk dictionary"
- self allKeysDo:[:aKey |
+ self keysDo:[:aKey |
aBlock value:(aKey -> (self at:aKey))
]
@@ -1001,7 +1007,7 @@
keysAndValuesDo:aBlock
"evaluate the two-arg block, aBlock for all keys and values"
- self allKeysDo:[:aKey |
+ self keysDo:[:aKey |
aBlock value:aKey value:(self at:aKey)
]
!
--- a/String.st Tue Mar 07 22:55:20 1995 +0100
+++ b/String.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/String.st,v 1.31 1995-03-07 19:45:41 claus Exp $
+$Header: /cvs/stx/stx/libbasic/String.st,v 1.32 1995-03-08 23:40:12 claus Exp $
'!
!String class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/String.st,v 1.31 1995-03-07 19:45:41 claus Exp $
+$Header: /cvs/stx/stx/libbasic/String.st,v 1.32 1995-03-08 23:40:12 claus Exp $
"
!
@@ -72,8 +72,17 @@
#include <ctype.h>
#ifdef LINUX
# include <linux/string.h>
+#else
+ extern char *strchr();
#endif
+#ifdef SYSV
+# define INDEX strchr
+#else
+# define INDEX index
+#endif
+extern char *INDEX();
+
/*
* old st/x creates strings with spaces in it;
* new st/x will fill it with zeros (for st-80 compatibility)
@@ -724,7 +733,6 @@
REGISTER unsigned char *cp;
REGISTER int byteValue;
- extern char *strchr();
OBJ cls;
if (__isCharacter(aCharacter)) {
@@ -767,12 +775,6 @@
REGISTER unsigned char *cp;
REGISTER unsigned char *matchP;
-#ifdef SYSV
-# define INDEX strchr
-#else
-# define INDEX index
-#endif
- extern char *INDEX();
OBJ cls;
if (__isString(aCollection)) {
--- a/WeakArr.st Tue Mar 07 22:55:20 1995 +0100
+++ b/WeakArr.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.9 1995-02-28 20:54:39 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.10 1995-03-08 23:40:27 claus Exp $
'!
!WeakArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.9 1995-02-28 20:54:39 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.10 1995-03-08 23:40:27 claus Exp $
"
!
@@ -112,9 +112,9 @@
"setup the private signal"
RegistrationFailedSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- RegistrationFailedSignal := Object errorSignal newSignalMayProceed:true.
+ RegistrationFailedSignal := ErrorSignal newSignalMayProceed:true.
RegistrationFailedSignal nameClass:self message:#registrationFailedSignal.
RegistrationFailedSignal notifierString:'weakArray registration failed'.
]
--- a/WeakArray.st Tue Mar 07 22:55:20 1995 +0100
+++ b/WeakArray.st Thu Mar 09 00:40:27 1995 +0100
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.9 1995-02-28 20:54:39 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.10 1995-03-08 23:40:27 claus Exp $
'!
!WeakArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.9 1995-02-28 20:54:39 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.10 1995-03-08 23:40:27 claus Exp $
"
!
@@ -112,9 +112,9 @@
"setup the private signal"
RegistrationFailedSignal isNil ifTrue:[
- Object initialize.
+ ErrorSignal isNil ifTrue:[super initialize].
- RegistrationFailedSignal := Object errorSignal newSignalMayProceed:true.
+ RegistrationFailedSignal := ErrorSignal newSignalMayProceed:true.
RegistrationFailedSignal nameClass:self message:#registrationFailedSignal.
RegistrationFailedSignal notifierString:'weakArray registration failed'.
]