--- a/ArithVal.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ArithVal.st Tue Apr 11 16:52:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.11 1995-03-08 23:36:06 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.12 1995-04-11 14:48:09 claus Exp $
'!
!ArithmeticValue class methodsFor:'documentation' !
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.11 1995-03-08 23:36:06 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ArithVal.st,v 1.12 1995-04-11 14:48:09 claus Exp $
"
!
@@ -78,8 +78,6 @@
"setup the signals"
DomainErrorSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
ArithmeticSignal := ErrorSignal newSignalMayProceed:false.
ArithmeticSignal nameClass:self message:#arithmeticSignal.
ArithmeticSignal notifierString:'arithmetic error'.
--- a/ArithmeticValue.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ArithmeticValue.st Tue Apr 11 16:52:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.11 1995-03-08 23:36:06 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.12 1995-04-11 14:48:09 claus Exp $
'!
!ArithmeticValue class methodsFor:'documentation' !
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.11 1995-03-08 23:36:06 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ArithmeticValue.st,v 1.12 1995-04-11 14:48:09 claus Exp $
"
!
@@ -78,8 +78,6 @@
"setup the signals"
DomainErrorSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
ArithmeticSignal := ErrorSignal newSignalMayProceed:false.
ArithmeticSignal nameClass:self message:#arithmeticSignal.
ArithmeticSignal notifierString:'arithmetic error'.
--- a/Autoload.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Autoload.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.18 1995-03-08 23:36:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.19 1995-04-11 14:48:18 claus Exp $
'!
!Autoload class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.18 1995-03-08 23:36:49 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.19 1995-04-11 14:48:18 claus Exp $
"
!
@@ -75,8 +75,6 @@
initialize
AutoloadFailedSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
AutoloadFailedSignal := ErrorSignal newSignalMayProceed:true.
AutoloadFailedSignal nameClass:self message:#autoloadFailedSignal.
AutoloadFailedSignal notifierString:'autoload failed '.
--- a/Block.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Block.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Block.st,v 1.32 1995-04-02 11:05:53 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Block.st,v 1.33 1995-04-11 14:48:25 claus Exp $
'!
!Block class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Block.st,v 1.32 1995-04-02 11:05:53 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Block.st,v 1.33 1995-04-11 14:48:25 claus Exp $
"
!
@@ -99,8 +99,6 @@
"setup the signals"
InvalidNewSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[Object initialize].
-
InvalidNewSignal := ErrorSignal newSignalMayProceed:false.
InvalidNewSignal nameClass:self message:#invalidNewSignal.
InvalidNewSignal notifierString:'blocks are only created by the system'.
--- a/CharArray.st Sun Apr 02 13:07:58 1995 +0200
+++ b/CharArray.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/CharArray.st,v 1.16 1995-03-18 05:03:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/CharArray.st,v 1.17 1995-04-11 14:48:32 claus Exp $
'!
!CharacterArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/CharArray.st,v 1.16 1995-03-18 05:03:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/CharArray.st,v 1.17 1995-04-11 14:48:32 claus Exp $
"
!
@@ -1270,8 +1270,8 @@
paddedTo:newSize with:padCharacter
"return a new string consisting of the receivers characters,
plus pad characters up to length.
- If the receivers size is larger than the legth argument, it
- is returned unchanged."
+ If the receivers size is equal or greater than the length argument,
+ the receiver is returned unchanged."
|s len|
@@ -1295,8 +1295,8 @@
"return a new string of length size, which contains the receiver
right-adjusted (i.e. padded on the left).
Characters on the left are filled with padCharacter.
- If the receivers size is larger than the legth argument, it
- is returned unchanged."
+ If the receivers size is equal or greater than the length argument,
+ the receiver is returned unchanged."
|len s|
@@ -1323,7 +1323,8 @@
concatenate:string1 and:string2
"return the concatenation of myself and the arguments, string1 and string2.
This is equivalent to self , string1 , string2
- - generated by compiler when such a construct is detected"
+ - generated by compiler when such a construct is detected and the receiver
+ is known to be a string."
^ self , string1 , string2
!
@@ -1331,7 +1332,8 @@
concatenate:string1 and:string2 and:string3
"return the concatenation of myself and the string arguments.
This is equivalent to self , string1 , string2 , string3
- - generated by compiler when such a construct is detected"
+ - generated by compiler when such a construct is detected and the receiver
+ is known to be a string."
^ self , string1 , string2 , string3
! !
--- a/CharacterArray.st Sun Apr 02 13:07:58 1995 +0200
+++ b/CharacterArray.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.16 1995-03-18 05:03:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.17 1995-04-11 14:48:32 claus Exp $
'!
!CharacterArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.16 1995-03-18 05:03:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.17 1995-04-11 14:48:32 claus Exp $
"
!
@@ -1270,8 +1270,8 @@
paddedTo:newSize with:padCharacter
"return a new string consisting of the receivers characters,
plus pad characters up to length.
- If the receivers size is larger than the legth argument, it
- is returned unchanged."
+ If the receivers size is equal or greater than the length argument,
+ the receiver is returned unchanged."
|s len|
@@ -1295,8 +1295,8 @@
"return a new string of length size, which contains the receiver
right-adjusted (i.e. padded on the left).
Characters on the left are filled with padCharacter.
- If the receivers size is larger than the legth argument, it
- is returned unchanged."
+ If the receivers size is equal or greater than the length argument,
+ the receiver is returned unchanged."
|len s|
@@ -1323,7 +1323,8 @@
concatenate:string1 and:string2
"return the concatenation of myself and the arguments, string1 and string2.
This is equivalent to self , string1 , string2
- - generated by compiler when such a construct is detected"
+ - generated by compiler when such a construct is detected and the receiver
+ is known to be a string."
^ self , string1 , string2
!
@@ -1331,7 +1332,8 @@
concatenate:string1 and:string2 and:string3
"return the concatenation of myself and the string arguments.
This is equivalent to self , string1 , string2 , string3
- - generated by compiler when such a construct is detected"
+ - generated by compiler when such a construct is detected and the receiver
+ is known to be a string."
^ self , string1 , string2 , string3
! !
--- a/Class.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Class.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Class.st,v 1.38 1995-03-25 01:21:46 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Class.st,v 1.39 1995-04-11 14:48:39 claus Exp $
'!
!Class class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Class.st,v 1.38 1995-03-25 01:21:46 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Class.st,v 1.39 1995-04-11 14:48:39 claus Exp $
"
!
@@ -98,8 +98,6 @@
UpdatingChanges := true.
FileOutErrorSignal isNil ifTrue:[
- Object initialize.
-
FileOutErrorSignal := Object errorSignal newSignalMayProceed:false.
FileOutErrorSignal nameClass:self message:#fileOutErrorSignal.
FileOutErrorSignal notifierString:'error during fileOut'.
@@ -996,12 +994,13 @@
|selector|
selector := aMethod selector.
-
- aStream nextPutAll:'('.
- self printClassNameOn:aStream.
- aStream nextPutAll:(' compiledMethodAt:' , selector storeString).
- aStream nextPutAll:(') category:' , newCategory storeString).
- aStream nextPut:(aStream class chunkSeparator).
+ selector notNil ifTrue:[
+ aStream nextPutAll:'('.
+ self printClassNameOn:aStream.
+ aStream nextPutAll:(' compiledMethodAt:' , selector storeString).
+ aStream nextPutAll:(') category:' , newCategory storeString).
+ aStream nextPut:(aStream class chunkSeparator).
+ ]
!
addChangeRecordForClass:aClass to:aStream
--- a/Coll.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Coll.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.29 1995-03-25 21:53:57 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.30 1995-04-11 14:48:46 claus Exp $
'!
!Collection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.29 1995-03-25 21:53:57 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/Coll.st,v 1.30 1995-04-11 14:48:46 claus Exp $
"
!
@@ -64,8 +64,6 @@
"setup the signal"
InvalidKeySignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
InvalidKeySignal := ErrorSignal newSignalMayProceed:true.
InvalidKeySignal nameClass:self message:#invalidKeySignal.
InvalidKeySignal notifierString:'invalid key'.
--- a/Collection.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Collection.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.29 1995-03-25 21:53:57 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.30 1995-04-11 14:48:46 claus Exp $
'!
!Collection class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.29 1995-03-25 21:53:57 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.30 1995-04-11 14:48:46 claus Exp $
"
!
@@ -64,8 +64,6 @@
"setup the signal"
InvalidKeySignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
InvalidKeySignal := ErrorSignal newSignalMayProceed:true.
InvalidKeySignal nameClass:self message:#invalidKeySignal.
InvalidKeySignal notifierString:'invalid key'.
--- a/CompCode.st Sun Apr 02 13:07:58 1995 +0200
+++ b/CompCode.st Tue Apr 11 16:52:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.11 1995-04-11 14:48:52 claus Exp $
'!
!CompiledCode class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/CompCode.st,v 1.11 1995-04-11 14:48:52 claus Exp $
"
!
@@ -79,8 +79,6 @@
initialize
NoByteCodeSignal isNil ifTrue:[
- ExecutionErrorSignal isNil ifTrue:[super initialize].
-
NoByteCodeSignal := ExecutionErrorSignal newSignalMayProceed:true.
NoByteCodeSignal nameClass:self message:#noByteCodeSignal.
NoByteCodeSignal notifierString:'nil byteCode in code-object - not executable'.
--- a/CompiledCode.st Sun Apr 02 13:07:58 1995 +0200
+++ b/CompiledCode.st Tue Apr 11 16:52:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.11 1995-04-11 14:48:52 claus Exp $
'!
!CompiledCode class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.10 1995-03-08 23:37:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.11 1995-04-11 14:48:52 claus Exp $
"
!
@@ -79,8 +79,6 @@
initialize
NoByteCodeSignal isNil ifTrue:[
- ExecutionErrorSignal isNil ifTrue:[super initialize].
-
NoByteCodeSignal := ExecutionErrorSignal newSignalMayProceed:true.
NoByteCodeSignal nameClass:self message:#noByteCodeSignal.
NoByteCodeSignal notifierString:'nil byteCode in code-object - not executable'.
--- a/Context.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Context.st Tue Apr 11 16:52:00 1995 +0200
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Context.st,v 1.28 1995-04-02 11:06:10 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Context.st,v 1.29 1995-04-11 14:48:55 claus Exp $
'!
!Context class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Context.st,v 1.28 1995-04-02 11:06:10 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Context.st,v 1.29 1995-04-11 14:48:55 claus Exp $
"
!
@@ -128,8 +128,6 @@
initialize
InvalidReturnSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[Object initialize].
-
InvalidReturnSignal := ErrorSignal newSignalMayProceed:true.
InvalidReturnSignal nameClass:self message:#invalidReturnSignal.
InvalidReturnSignal notifierString:'invalid return; method cannot return twice'.
--- a/Date.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Date.st Tue Apr 11 16:52:00 1995 +0200
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Date.st,v 1.17 1995-02-21 01:06:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Date.st,v 1.18 1995-04-11 14:49:00 claus Exp $
'!
!Date class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Date.st,v 1.17 1995-02-21 01:06:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Date.st,v 1.18 1995-04-11 14:49:00 claus Exp $
"
!
@@ -177,7 +177,7 @@
!Date class methodsFor:'handling language changes'!
initialize
- super initialize.
+"/ super initialize.
"check for case where Resource-classes are absent"
ResourcePack isNil ifTrue:[
--- a/Exception.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Exception.st Tue Apr 11 16:52:00 1995 +0200
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.18 1995-03-08 23:38:01 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.19 1995-04-11 14:49:09 claus Exp $
'!
!Exception class methodsFor:'documentation'!
@@ -45,7 +45,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.18 1995-03-08 23:38:01 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.19 1995-04-11 14:49:09 claus Exp $
"
!
@@ -123,8 +123,6 @@
"setup the signal used to handle unhandled signals"
RecursiveExceptionSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
RecursiveExceptionSignal := ErrorSignal newSignalMayProceed:false.
RecursiveExceptionSignal nameClass:self message:#recursiveExceptionSignal.
RecursiveExceptionSignal notifierString:'recursive signal raise in handler'
--- a/ExecFunc.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ExecFunc.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.9 1995-03-08 23:38:07 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.10 1995-04-11 14:49:12 claus Exp $
'!
!ExecutableFunction class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.9 1995-03-08 23:38:07 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExecFunc.st,v 1.10 1995-04-11 14:49:12 claus Exp $
"
!
@@ -82,8 +82,6 @@
initialize
InvalidCodeSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[Object initialize].
-
ExecutionErrorSignal := ErrorSignal newSignalMayProceed:true.
ExecutionErrorSignal nameClass:self message:#executionErrorSignal.
ExecutionErrorSignal notifierString:'execution error'.
--- a/ExecutableFunction.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ExecutableFunction.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.9 1995-03-08 23:38:07 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.10 1995-04-11 14:49:12 claus Exp $
'!
!ExecutableFunction class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.9 1995-03-08 23:38:07 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExecutableFunction.st,v 1.10 1995-04-11 14:49:12 claus Exp $
"
!
@@ -82,8 +82,6 @@
initialize
InvalidCodeSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[Object initialize].
-
ExecutionErrorSignal := ErrorSignal newSignalMayProceed:true.
ExecutionErrorSignal nameClass:self message:#executionErrorSignal.
ExecutionErrorSignal notifierString:'execution error'.
--- a/ExtStream.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ExtStream.st Tue Apr 11 16:52:00 1995 +0200
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.33 1995-04-02 11:06:23 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.34 1995-04-11 14:49:18 claus Exp $
'!
!ExternalStream primitiveDefinitions!
@@ -87,7 +87,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.33 1995-04-02 11:06:23 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.34 1995-04-11 14:49:18 claus Exp $
"
!
@@ -190,8 +190,6 @@
initialize
StreamErrorSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
StreamErrorSignal := ErrorSignal newSignalMayProceed:false.
StreamErrorSignal nameClass:self message:#streamErrorSignal.
StreamErrorSignal notifierString:'I/O error'.
--- a/ExternalStream.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ExternalStream.st Tue Apr 11 16:52:00 1995 +0200
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.33 1995-04-02 11:06:23 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.34 1995-04-11 14:49:18 claus Exp $
'!
!ExternalStream primitiveDefinitions!
@@ -87,7 +87,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.33 1995-04-02 11:06:23 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.34 1995-04-11 14:49:18 claus Exp $
"
!
@@ -190,8 +190,6 @@
initialize
StreamErrorSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
StreamErrorSignal := ErrorSignal newSignalMayProceed:false.
StreamErrorSignal nameClass:self message:#streamErrorSignal.
StreamErrorSignal notifierString:'I/O error'.
--- a/FileDir.st Sun Apr 02 13:07:58 1995 +0200
+++ b/FileDir.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/FileDir.st,v 1.17 1995-03-25 01:22:22 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/FileDir.st,v 1.18 1995-04-11 14:49:26 claus Exp $
'!
!FileDirectory class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/FileDir.st,v 1.17 1995-03-25 01:22:22 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/FileDir.st,v 1.18 1995-04-11 14:49:26 claus Exp $
"
!
@@ -67,7 +67,7 @@
!FileDirectory class methodsFor:'initialization'!
initialize
- super initialize.
+"/ super initialize.
"/
"/ want to know about image restart
"/
--- a/FileDirectory.st Sun Apr 02 13:07:58 1995 +0200
+++ b/FileDirectory.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.17 1995-03-25 01:22:22 claus Exp $
+$Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.18 1995-04-11 14:49:26 claus Exp $
'!
!FileDirectory class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.17 1995-03-25 01:22:22 claus Exp $
+$Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.18 1995-04-11 14:49:26 claus Exp $
"
!
@@ -67,7 +67,7 @@
!FileDirectory class methodsFor:'initialization'!
initialize
- super initialize.
+"/ super initialize.
"/
"/ want to know about image restart
"/
--- a/Filename.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Filename.st Tue Apr 11 16:52:00 1995 +0200
@@ -20,7 +20,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.23 1995-04-02 11:06:37 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.24 1995-04-11 14:49:31 claus Exp $
'!
!Filename class methodsFor:'documentation'!
@@ -41,7 +41,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.23 1995-04-02 11:06:37 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.24 1995-04-11 14:49:31 claus Exp $
"
!
@@ -165,6 +165,15 @@
We ask the OS about this, to be independent here."
^ OperatingSystem caseSensitiveFilenames
+!
+
+defaultClass
+ "ST-80 compatibility:
+ in ST-80, different subclasses of FIlename are used for different
+ OperatingSYstems; defaultClass is supposed to return an appropriate class.
+ Since in ST/X, there is (currently) only one Filename class, return it here."
+
+ ^ self
! !
!Filename methodsFor:'instance creation'!
--- a/Metaclass.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Metaclass.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.22 1995-03-25 01:22:57 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.23 1995-04-11 14:49:45 claus Exp $
'!
!Metaclass class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.22 1995-03-25 01:22:57 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.23 1995-04-11 14:49:45 claus Exp $
"
!
@@ -80,7 +80,8 @@
|newClass newMetaclass nInstVars nameString classSymbol oldClass
classVarChange instVarChange superClassChange newComment
changeSet1 changeSet2 addedNames
- anyChange oldInstVars newInstVars oldClassVars newClassVars superFlags newFlags|
+ anyChange oldInstVars newInstVars oldClassVars newClassVars superFlags newFlags
+ currentProject|
"NOTICE:
this method is too complex and should be splitted into managable pieces ...
@@ -180,8 +181,12 @@
newMetaclass setName:(nameString , 'class') asSymbol.
newMetaclass classVariableString:'' "stringOfClassVarNames".
"/ newMetaclass setComment:newComment category:categoryString.
+
Project notNil ifTrue:[
- newMetaclass package:(Project current packageName)
+ currentProject := Project current.
+ currentProject notNil ifTrue:[
+ newMetaclass package:(currentProject packageName)
+ ]
].
"then let the new meta create the class"
@@ -261,11 +266,14 @@
aSystemDictionary at:classSymbol put:newClass.
oldClass isNil ifTrue:[
- Project current notNil ifTrue:[
- "
- new classes get the package assigned
- "
- newClass package:(Project current packageName asSymbol)
+ Project notNil ifTrue:[
+ currentProject := Project current.
+ currentProject notNil ifTrue:[
+ "
+ new classes get the package assigned
+ "
+ newClass package:(currentProject packageName asSymbol)
+ ]
].
].
--- a/Method.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Method.st Tue Apr 11 16:52:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.32 1995-03-18 05:04:58 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.33 1995-04-11 14:49:52 claus Exp $
'!
!Method class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.32 1995-03-18 05:04:58 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.33 1995-04-11 14:49:52 claus Exp $
"
!
@@ -129,8 +129,6 @@
initialize
PrivateMethodSignal isNil ifTrue:[
- ExecutionErrorSignal isNil ifTrue:[super initialize].
-
"EXPERIMENTAL"
PrivateMethodSignal := ExecutionErrorSignal newSignalMayProceed:true.
PrivateMethodSignal nameClass:self message:#privateMethodSignal.
--- a/ObjMem.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ObjMem.st Tue Apr 11 16:52:00 1995 +0200
@@ -33,7 +33,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.35 1995-04-02 11:07:09 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.36 1995-04-11 14:50:21 claus Exp $
'!
!ObjectMemory class methodsFor:'documentation'!
@@ -54,7 +54,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.35 1995-04-02 11:07:09 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.36 1995-04-11 14:50:21 claus Exp $
"
!
@@ -413,8 +413,6 @@
"initialize the class"
AllocationFailureSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
AllocationFailureSignal := ErrorSignal newSignalMayProceed:true.
AllocationFailureSignal nameClass:self message:#allocationFailureSignal.
AllocationFailureSignal notifierString:'allocation failure'.
@@ -561,7 +559,7 @@
|work|
%{ /* NOREGISTER - work may not be placed into a register here */
- nonTenuringScavenge(__context);
+ __nonTenuringScavenge(__context);
/*
* allObjectsDo needs a temporary to hold newSpace objects
*/
@@ -927,15 +925,15 @@
runsSingleOldSpace
"return true, if the system runs in a single oldSpace or
- false, if it has given up baker-collection. The memory
- system will always drop the second semispace when running out of
- virtual memory, or the baker-limit is reached.
+ false if not.
+ The memory system will always drop the second semispace when
+ running out of virtual memory, or the baker-limit is reached.
OBSOLETE:
the system may now decide at any time to switch between
single and double-space algorithms, depending on the overall memory
size. You will now almost always get false as result, since the
- second semispaces are only allocated when needed, and released
- afterwards.
+ second semispace is only allocated when needed, and released
+ immediately afterwards.
"
%{ /* NOCONTEXT */
@@ -951,7 +949,11 @@
incrementalGCPhase
"returns the internal state of the incremental GC.
The meaning of those numbers is a secret :-).
- This is for debugging and monitoring only - and may vanish"
+ (for the curious: (currently)
+ 2 is idle, 3..11 are various mark phases,
+ 12 is the sweep phase. 0 and 1 are cleanup phases when the
+ incr. GC gets interrupted by a full GC).
+ This is for debugging and monitoring only - and may change or vanish"
%{ /* NOCONTEXT */
extern int __incrGCphase();
@@ -1002,7 +1004,7 @@
numberOfObjects
"return the number of objects in the system."
- |tally|
+ |tally "{ Class: SmallInteger }"|
tally := 0.
self allObjectsDo:[:obj | tally := tally + 1].
@@ -1086,7 +1088,10 @@
if (! _isNonNilObject(anObject)) {
RETURN ( nil );
}
- RETURN ( _MKSMALLINT( (int)anObject ) );
+ if (((int)anObject >= _MIN_INT) && ((int)anObject <= _MAX_INT)) {
+ RETURN ( _MKSMALLINT((int)anObject) );
+ }
+ RETURN ( _MKLARGEINT((int)anObject) );
%}
"
|p|
@@ -1100,9 +1105,9 @@
objectAt:anAddress
"return whatever anAddress points to as object.
BIG BIG DANGER ALERT:
- this method is only to be used for debugging
- ST/X itself - you can easily (and badly) crash the system.
- This method will be removed from the final shipping version"
+ this method is only to be used for debugging ST/X itself
+ - you can easily (and badly) crash the system.
+ This method may be removed from the final shipping version"
|low high|
@@ -1117,6 +1122,7 @@
sizeOf:anObject
"return the size of anObject in bytes.
+ (this is not the same as 'anObject size').
Use only for debugging/memory monitoring."
%{ /* NOCONTEXT */
@@ -1143,8 +1149,8 @@
spaceOf:anObject
"return the memory space, in which anObject is.
- - since objects may move between spaces, returned value is invalid after the
- next scavenge/collect.
+ - since objects may move between spaces,
+ the returned value may be invalid after the next scavenge/collect.
For debugging only; Dont use this method; it may vanish."
%{ /* NOCONTEXT */
@@ -1173,12 +1179,20 @@
F_ISONLIFOLIST 8 /* a non-lifo-context-referencing-obj already on list */
F_MARK 16 /* mark bit for background collector */
"
+
+ "
+ |arr|
+
+ arr := Array new.
+ arr at:1 put:([thisContext] value).
+ (ObjectMemory flagsOf:anObject) printNL
+ "
!
ageOf:anObject
"return the number of scavenges, an object has survived
- in new space. For old objects and living contexts, the returned number
- is invalid.
+ in new space.
+ For old objects and living contexts, the returned number is invalid.
For debugging only; Dont use this method; it may vanish."
%{ /* NOCONTEXT */
@@ -1230,7 +1244,7 @@
Of course, only recently allocated resources will be freed this
way. If none was freed, a full collect will be needed."
%{
- nonTenuringScavenge(__context);
+ __nonTenuringScavenge(__context);
%}
"
@@ -1245,7 +1259,7 @@
this automatically when the newspace fills up.
This is relatively fast (compared to oldspace collect)"
%{
- scavenge(__context);
+ __scavenge(__context);
%}
"
@@ -1267,7 +1281,7 @@
the oldspace).
In normal situations, explicit tenures are not needed."
%{
- tenure(__context);
+ __tenure(__context);
%}
"
@@ -1290,7 +1304,7 @@
the -Msingle option, this does a non-COMPRESSING collect."
%{
if (! __garbageCollect(__context)) {
- markAndSweep(__context);
+ __markAndSweep(__context);
}
%}
@@ -1318,7 +1332,7 @@
perform a full mark&sweep collect.
Warning: this may take some time."
%{
- markAndSweep(__context);
+ __markAndSweep(__context);
%}
"
@@ -1821,7 +1835,7 @@
allShadowObjectsDo:aBlock
"evaluate the argument, aBlock for all known shadow objects"
%{
- __allShadowObjectsDo(&aBlock, __context);
+ __allShadowObjectsDo(&aBlock COMMA_CON);
%}
!
@@ -1829,7 +1843,7 @@
"evaluate the argument, aBlock for all known shadow objects which have
lost a pointer recently."
%{
- __allChangedShadowObjectsDo(&aBlock, __context);
+ __allChangedShadowObjectsDo(&aBlock COMMA_CON);
%}
!
--- a/ObjectMemory.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ObjectMemory.st Tue Apr 11 16:52:00 1995 +0200
@@ -33,7 +33,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.35 1995-04-02 11:07:09 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.36 1995-04-11 14:50:21 claus Exp $
'!
!ObjectMemory class methodsFor:'documentation'!
@@ -54,7 +54,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.35 1995-04-02 11:07:09 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ObjectMemory.st,v 1.36 1995-04-11 14:50:21 claus Exp $
"
!
@@ -413,8 +413,6 @@
"initialize the class"
AllocationFailureSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
AllocationFailureSignal := ErrorSignal newSignalMayProceed:true.
AllocationFailureSignal nameClass:self message:#allocationFailureSignal.
AllocationFailureSignal notifierString:'allocation failure'.
@@ -561,7 +559,7 @@
|work|
%{ /* NOREGISTER - work may not be placed into a register here */
- nonTenuringScavenge(__context);
+ __nonTenuringScavenge(__context);
/*
* allObjectsDo needs a temporary to hold newSpace objects
*/
@@ -927,15 +925,15 @@
runsSingleOldSpace
"return true, if the system runs in a single oldSpace or
- false, if it has given up baker-collection. The memory
- system will always drop the second semispace when running out of
- virtual memory, or the baker-limit is reached.
+ false if not.
+ The memory system will always drop the second semispace when
+ running out of virtual memory, or the baker-limit is reached.
OBSOLETE:
the system may now decide at any time to switch between
single and double-space algorithms, depending on the overall memory
size. You will now almost always get false as result, since the
- second semispaces are only allocated when needed, and released
- afterwards.
+ second semispace is only allocated when needed, and released
+ immediately afterwards.
"
%{ /* NOCONTEXT */
@@ -951,7 +949,11 @@
incrementalGCPhase
"returns the internal state of the incremental GC.
The meaning of those numbers is a secret :-).
- This is for debugging and monitoring only - and may vanish"
+ (for the curious: (currently)
+ 2 is idle, 3..11 are various mark phases,
+ 12 is the sweep phase. 0 and 1 are cleanup phases when the
+ incr. GC gets interrupted by a full GC).
+ This is for debugging and monitoring only - and may change or vanish"
%{ /* NOCONTEXT */
extern int __incrGCphase();
@@ -1002,7 +1004,7 @@
numberOfObjects
"return the number of objects in the system."
- |tally|
+ |tally "{ Class: SmallInteger }"|
tally := 0.
self allObjectsDo:[:obj | tally := tally + 1].
@@ -1086,7 +1088,10 @@
if (! _isNonNilObject(anObject)) {
RETURN ( nil );
}
- RETURN ( _MKSMALLINT( (int)anObject ) );
+ if (((int)anObject >= _MIN_INT) && ((int)anObject <= _MAX_INT)) {
+ RETURN ( _MKSMALLINT((int)anObject) );
+ }
+ RETURN ( _MKLARGEINT((int)anObject) );
%}
"
|p|
@@ -1100,9 +1105,9 @@
objectAt:anAddress
"return whatever anAddress points to as object.
BIG BIG DANGER ALERT:
- this method is only to be used for debugging
- ST/X itself - you can easily (and badly) crash the system.
- This method will be removed from the final shipping version"
+ this method is only to be used for debugging ST/X itself
+ - you can easily (and badly) crash the system.
+ This method may be removed from the final shipping version"
|low high|
@@ -1117,6 +1122,7 @@
sizeOf:anObject
"return the size of anObject in bytes.
+ (this is not the same as 'anObject size').
Use only for debugging/memory monitoring."
%{ /* NOCONTEXT */
@@ -1143,8 +1149,8 @@
spaceOf:anObject
"return the memory space, in which anObject is.
- - since objects may move between spaces, returned value is invalid after the
- next scavenge/collect.
+ - since objects may move between spaces,
+ the returned value may be invalid after the next scavenge/collect.
For debugging only; Dont use this method; it may vanish."
%{ /* NOCONTEXT */
@@ -1173,12 +1179,20 @@
F_ISONLIFOLIST 8 /* a non-lifo-context-referencing-obj already on list */
F_MARK 16 /* mark bit for background collector */
"
+
+ "
+ |arr|
+
+ arr := Array new.
+ arr at:1 put:([thisContext] value).
+ (ObjectMemory flagsOf:anObject) printNL
+ "
!
ageOf:anObject
"return the number of scavenges, an object has survived
- in new space. For old objects and living contexts, the returned number
- is invalid.
+ in new space.
+ For old objects and living contexts, the returned number is invalid.
For debugging only; Dont use this method; it may vanish."
%{ /* NOCONTEXT */
@@ -1230,7 +1244,7 @@
Of course, only recently allocated resources will be freed this
way. If none was freed, a full collect will be needed."
%{
- nonTenuringScavenge(__context);
+ __nonTenuringScavenge(__context);
%}
"
@@ -1245,7 +1259,7 @@
this automatically when the newspace fills up.
This is relatively fast (compared to oldspace collect)"
%{
- scavenge(__context);
+ __scavenge(__context);
%}
"
@@ -1267,7 +1281,7 @@
the oldspace).
In normal situations, explicit tenures are not needed."
%{
- tenure(__context);
+ __tenure(__context);
%}
"
@@ -1290,7 +1304,7 @@
the -Msingle option, this does a non-COMPRESSING collect."
%{
if (! __garbageCollect(__context)) {
- markAndSweep(__context);
+ __markAndSweep(__context);
}
%}
@@ -1318,7 +1332,7 @@
perform a full mark&sweep collect.
Warning: this may take some time."
%{
- markAndSweep(__context);
+ __markAndSweep(__context);
%}
"
@@ -1821,7 +1835,7 @@
allShadowObjectsDo:aBlock
"evaluate the argument, aBlock for all known shadow objects"
%{
- __allShadowObjectsDo(&aBlock, __context);
+ __allShadowObjectsDo(&aBlock COMMA_CON);
%}
!
@@ -1829,7 +1843,7 @@
"evaluate the argument, aBlock for all known shadow objects which have
lost a pointer recently."
%{
- __allChangedShadowObjectsDo(&aBlock, __context);
+ __allChangedShadowObjectsDo(&aBlock COMMA_CON);
%}
!
--- a/PipeStr.st Sun Apr 02 13:07:58 1995 +0200
+++ b/PipeStr.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.22 1995-04-02 11:07:29 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.23 1995-04-11 14:50:41 claus Exp $
'!
!PipeStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.22 1995-04-02 11:07:29 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PipeStr.st,v 1.23 1995-04-11 14:50:41 claus Exp $
"
!
@@ -123,35 +123,35 @@
int itype = (strcmp(type, "w") == 0 ? 1 : 0);
if (pipe(pipes) == -1)
- return NULL;
+ return NULL;
switch (popen_pid = vfork()) {
case -1:
- (void)close(pipes[0]);
- (void)close(pipes[1]);
- return NULL;
+ (void)close(pipes[0]);
+ (void)close(pipes[1]);
+ return NULL;
case 0:
- if (itype) {
- dup2(pipes[0], fileno(stdin));
- close(pipes[1]);
- } else {
- dup2(pipes[1], fileno(stdout));
- close(pipes[0]);
- }
- execl("/bin/sh", "/bin/sh", "-c", command, 0);
- fprintf(stderr, "XRN Error: failed the execlp\n");
- _exit(-1);
- /* NOTREACHED */
+ if (itype) {
+ dup2(pipes[0], fileno(stdin));
+ close(pipes[1]);
+ } else {
+ dup2(pipes[1], fileno(stdout));
+ close(pipes[0]);
+ }
+ execl("/bin/sh", "/bin/sh", "-c", command, 0);
+ fprintf(stderr, "XRN Error: failed the execlp\n");
+ _exit(-1);
+ /* NOTREACHED */
default:
- if (itype) {
- close(pipes[0]);
- return fdopen(pipes[1], "w");
- } else {
- close(pipes[1]);
- return fdopen(pipes[0], "r");
- }
+ if (itype) {
+ close(pipes[0]);
+ return fdopen(pipes[1], "w");
+ } else {
+ close(pipes[1]);
+ return fdopen(pipes[0], "r");
+ }
}
}
@@ -166,18 +166,18 @@
err = fclose(str);
do {
- if ((pd = wait(&status)) == -1)
- {
- err = EOF;
- break;
- }
+ if ((pd = wait(&status)) == -1)
+ {
+ err = EOF;
+ break;
+ }
} while (pd != popen_pid);
if (err == EOF)
- return -1;
+ return -1;
if (status)
- status >>= 8; /* exit status in high byte */
+ status >>= 8; /* exit status in high byte */
return status;
}
@@ -193,8 +193,6 @@
"setup the signal"
BrokenPipeSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
BrokenPipeSignal := ErrorSignal newSignalMayProceed:true.
BrokenPipeSignal nameClass:self message:#brokenPipeSignal.
BrokenPipeSignal notifierString:'write on a pipe with no one to read'.
@@ -309,7 +307,11 @@
|retVal|
- filePointer notNil ifTrue:[^ self errorOpen].
+ filePointer notNil ifTrue:[
+ "the pipe was already open ...
+ this should (can) not happen."
+ ^ self errorOpen
+ ].
%{ /* STACK: 32000 */
#ifndef transputer
@@ -363,13 +365,13 @@
readingFrom:command
"setup the receiver to read from command"
- self readonly. didWrite := false.
+ mode := #readonly. didWrite := false.
^ self openPipeFor:command withMode:'r'
!
writingTo:command
"setup the receiver to write to command"
- self writeonly. didWrite := true.
+ mode := #writeonly. didWrite := true.
^ self openPipeFor:command withMode:'w'
! !
--- a/PipeStream.st Sun Apr 02 13:07:58 1995 +0200
+++ b/PipeStream.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.22 1995-04-02 11:07:29 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.23 1995-04-11 14:50:41 claus Exp $
'!
!PipeStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.22 1995-04-02 11:07:29 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PipeStream.st,v 1.23 1995-04-11 14:50:41 claus Exp $
"
!
@@ -123,35 +123,35 @@
int itype = (strcmp(type, "w") == 0 ? 1 : 0);
if (pipe(pipes) == -1)
- return NULL;
+ return NULL;
switch (popen_pid = vfork()) {
case -1:
- (void)close(pipes[0]);
- (void)close(pipes[1]);
- return NULL;
+ (void)close(pipes[0]);
+ (void)close(pipes[1]);
+ return NULL;
case 0:
- if (itype) {
- dup2(pipes[0], fileno(stdin));
- close(pipes[1]);
- } else {
- dup2(pipes[1], fileno(stdout));
- close(pipes[0]);
- }
- execl("/bin/sh", "/bin/sh", "-c", command, 0);
- fprintf(stderr, "XRN Error: failed the execlp\n");
- _exit(-1);
- /* NOTREACHED */
+ if (itype) {
+ dup2(pipes[0], fileno(stdin));
+ close(pipes[1]);
+ } else {
+ dup2(pipes[1], fileno(stdout));
+ close(pipes[0]);
+ }
+ execl("/bin/sh", "/bin/sh", "-c", command, 0);
+ fprintf(stderr, "XRN Error: failed the execlp\n");
+ _exit(-1);
+ /* NOTREACHED */
default:
- if (itype) {
- close(pipes[0]);
- return fdopen(pipes[1], "w");
- } else {
- close(pipes[1]);
- return fdopen(pipes[0], "r");
- }
+ if (itype) {
+ close(pipes[0]);
+ return fdopen(pipes[1], "w");
+ } else {
+ close(pipes[1]);
+ return fdopen(pipes[0], "r");
+ }
}
}
@@ -166,18 +166,18 @@
err = fclose(str);
do {
- if ((pd = wait(&status)) == -1)
- {
- err = EOF;
- break;
- }
+ if ((pd = wait(&status)) == -1)
+ {
+ err = EOF;
+ break;
+ }
} while (pd != popen_pid);
if (err == EOF)
- return -1;
+ return -1;
if (status)
- status >>= 8; /* exit status in high byte */
+ status >>= 8; /* exit status in high byte */
return status;
}
@@ -193,8 +193,6 @@
"setup the signal"
BrokenPipeSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
BrokenPipeSignal := ErrorSignal newSignalMayProceed:true.
BrokenPipeSignal nameClass:self message:#brokenPipeSignal.
BrokenPipeSignal notifierString:'write on a pipe with no one to read'.
@@ -309,7 +307,11 @@
|retVal|
- filePointer notNil ifTrue:[^ self errorOpen].
+ filePointer notNil ifTrue:[
+ "the pipe was already open ...
+ this should (can) not happen."
+ ^ self errorOpen
+ ].
%{ /* STACK: 32000 */
#ifndef transputer
@@ -363,13 +365,13 @@
readingFrom:command
"setup the receiver to read from command"
- self readonly. didWrite := false.
+ mode := #readonly. didWrite := false.
^ self openPipeFor:command withMode:'r'
!
writingTo:command
"setup the receiver to write to command"
- self writeonly. didWrite := true.
+ mode := #writeonly. didWrite := true.
^ self openPipeFor:command withMode:'w'
! !
--- a/PosStream.st Sun Apr 02 13:07:58 1995 +0200
+++ b/PosStream.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.24 1995-04-11 14:50:56 claus Exp $
'!
!PositionableStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.24 1995-04-11 14:50:56 claus Exp $
"
!
@@ -61,8 +61,6 @@
"setup the signal used to handle errors during fileIn"
ErrorDuringFileInSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
ErrorDuringFileInSignal := ErrorSignal newSignalMayProceed:true.
ErrorDuringFileInSignal nameClass:self message:#errorDuringFileInSignal.
ErrorDuringFileInSignal notifierString:'error during fileIn'.
--- a/PositionableStream.st Sun Apr 02 13:07:58 1995 +0200
+++ b/PositionableStream.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.24 1995-04-11 14:50:56 claus Exp $
'!
!PositionableStream class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.23 1995-03-08 23:39:14 claus Exp $
+$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.24 1995-04-11 14:50:56 claus Exp $
"
!
@@ -61,8 +61,6 @@
"setup the signal used to handle errors during fileIn"
ErrorDuringFileInSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
ErrorDuringFileInSignal := ErrorSignal newSignalMayProceed:true.
ErrorDuringFileInSignal nameClass:self message:#errorDuringFileInSignal.
ErrorDuringFileInSignal notifierString:'error during fileIn'.
--- a/ProcSched.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ProcSched.st Tue Apr 11 16:52:00 1995 +0200
@@ -34,7 +34,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.34 1995-03-26 14:51:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.35 1995-04-11 14:51:07 claus Exp $
'!
Smalltalk at:#Processor put:nil!
@@ -57,7 +57,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.34 1995-03-26 14:51:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.35 1995-04-11 14:51:07 claus Exp $
"
!
@@ -363,7 +363,12 @@
"
and, make the process runnable
"
- aProcess resume
+ aProcess state ~~ #stopped ifTrue:[
+ "
+ and, make the process runnable
+ "
+ aProcess resume
+ ]
! !
!ProcessorScheduler methodsFor:'constants'!
--- a/Process.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Process.st Tue Apr 11 16:52:00 1995 +0200
@@ -24,7 +24,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Process.st,v 1.22 1995-03-25 01:23:35 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Process.st,v 1.23 1995-04-11 14:51:25 claus Exp $
'!
!Process class methodsFor:'documentation'!
@@ -45,7 +45,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Process.st,v 1.22 1995-03-25 01:23:35 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Process.st,v 1.23 1995-04-11 14:51:25 claus Exp $
"
!
@@ -198,8 +198,6 @@
initialize
TerminateSignal isNil ifTrue:[
- AbortSignal isNil ifTrue:[super initialize].
-
TerminateSignal := Signal new mayProceed:true.
TerminateSignal nameClass:self message:#terminateSignal.
TerminateSignal notifierString:'unhandled process termination'.
@@ -531,8 +529,18 @@
!Process methodsFor:'suspend / resume'!
+stop
+ "suspend the receiver process - will continue to run when a resume is sent.
+ A stopped process will not be resumed for interrupt processing."
+
+ suspendSemaphore notNil ifTrue:[suspendSemaphore signal].
+ state := #stopped.
+ Processor suspend:self
+!
+
suspend
- "suspend the receiver process - will continue to run when a resume is sent"
+ "suspend the receiver process - will continue to run when a resume is sent.
+ An interrupt will resume the receiver."
suspendSemaphore notNil ifTrue:[suspendSemaphore signal].
Processor suspend:self
--- a/ProcessorScheduler.st Sun Apr 02 13:07:58 1995 +0200
+++ b/ProcessorScheduler.st Tue Apr 11 16:52:00 1995 +0200
@@ -34,7 +34,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.34 1995-03-26 14:51:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.35 1995-04-11 14:51:07 claus Exp $
'!
Smalltalk at:#Processor put:nil!
@@ -57,7 +57,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.34 1995-03-26 14:51:15 claus Exp $
+$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.35 1995-04-11 14:51:07 claus Exp $
"
!
@@ -363,7 +363,12 @@
"
and, make the process runnable
"
- aProcess resume
+ aProcess state ~~ #stopped ifTrue:[
+ "
+ and, make the process runnable
+ "
+ aProcess resume
+ ]
! !
!ProcessorScheduler methodsFor:'constants'!
--- a/Rectangle.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Rectangle.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Rectangle.st,v 1.17 1995-04-02 11:07:43 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Rectangle.st,v 1.18 1995-04-11 14:51:30 claus Exp $
'!
!Rectangle class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Rectangle.st,v 1.17 1995-04-02 11:07:43 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Rectangle.st,v 1.18 1995-04-11 14:51:30 claus Exp $
"
!
@@ -812,6 +812,20 @@
"
!
+align:offset with:someCoordinate
+ "return a new rectangle which is translated (i.e. moved)
+ such that the point offset in mySelf is placed on someCoordinate."
+
+ ^ Rectangle origin:(someCoordinate - offset + self origin)
+ extent:(self extent)
+ "
+ |r|
+
+ r := Rectangle origin:10@10 corner:50@50.
+ r align:(r center) with:100@100.
+ "
+!
+
amountToTranslateWithin: aRectangle
"for GNU-ST compatibility"
--- a/Signal.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Signal.st Tue Apr 11 16:52:00 1995 +0200
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.19 1995-03-08 23:39:56 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.20 1995-04-11 14:51:38 claus Exp $
'!
!Signal class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.19 1995-03-08 23:39:56 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Signal.st,v 1.20 1995-04-11 14:51:38 claus Exp $
"
!
@@ -137,8 +137,6 @@
"setup the signal used to handle unhandled signals"
NoHandlerSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
NoHandlerSignal := ErrorSignal newSignalMayProceed:true.
NoHandlerSignal nameClass:self message:#noHandlerSignal.
NoHandlerSignal notifierString:'unhandled exception'.
--- a/Smalltalk.st Sun Apr 02 13:07:58 1995 +0200
+++ b/Smalltalk.st Tue Apr 11 16:52:00 1995 +0200
@@ -26,7 +26,7 @@
COPYRIGHT (c) 1988 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.42 1995-04-02 11:07:58 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.43 1995-04-11 14:51:46 claus Exp $
'!
"
@@ -55,7 +55,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.42 1995-04-02 11:07:58 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.43 1995-04-11 14:51:46 claus Exp $
"
!
@@ -262,6 +262,7 @@
reason: if any error happens during init, we need Signals, Stdout etc. to be there
"
Object initialize.
+ ObjectMemory initialize.
ExternalStream initialize.
self initStandardStreams. "/ setup Stdin, Stdout etc.
--- a/WeakArr.st Sun Apr 02 13:07:58 1995 +0200
+++ b/WeakArr.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.11 1995-03-18 05:06:59 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.12 1995-04-11 14:52:00 claus Exp $
'!
!WeakArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.11 1995-03-18 05:06:59 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.12 1995-04-11 14:52:00 claus Exp $
"
!
@@ -112,8 +112,6 @@
"setup the private signal"
RegistrationFailedSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
RegistrationFailedSignal := ErrorSignal newSignalMayProceed:true.
RegistrationFailedSignal nameClass:self message:#registrationFailedSignal.
RegistrationFailedSignal notifierString:'weakArray registration failed'.
@@ -168,21 +166,21 @@
* at shadow object creation time.
* Dont know which is better ...
*/
- nonTenuringScavenge(__context);
+ __nonTenuringScavenge(__context);
ok = __addShadowObject(self, 0);
#ifdef OLD
if (ok == false) {
/*
* try more ...
*/
- scavenge(__context);
+ __scavenge(__context);
ok = __addShadowObject(self, 0);
#endif
if (ok == false) {
/*
* hard stuff - need full collect
*/
- markAndSweep(__context);
+ __markAndSweep(__context);
ok = __addShadowObject(self, 0);
if (ok == false) {
/*
--- a/WeakArray.st Sun Apr 02 13:07:58 1995 +0200
+++ b/WeakArray.st Tue Apr 11 16:52:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.11 1995-03-18 05:06:59 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.12 1995-04-11 14:52:00 claus Exp $
'!
!WeakArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.11 1995-03-18 05:06:59 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.12 1995-04-11 14:52:00 claus Exp $
"
!
@@ -112,8 +112,6 @@
"setup the private signal"
RegistrationFailedSignal isNil ifTrue:[
- ErrorSignal isNil ifTrue:[super initialize].
-
RegistrationFailedSignal := ErrorSignal newSignalMayProceed:true.
RegistrationFailedSignal nameClass:self message:#registrationFailedSignal.
RegistrationFailedSignal notifierString:'weakArray registration failed'.
@@ -168,21 +166,21 @@
* at shadow object creation time.
* Dont know which is better ...
*/
- nonTenuringScavenge(__context);
+ __nonTenuringScavenge(__context);
ok = __addShadowObject(self, 0);
#ifdef OLD
if (ok == false) {
/*
* try more ...
*/
- scavenge(__context);
+ __scavenge(__context);
ok = __addShadowObject(self, 0);
#endif
if (ok == false) {
/*
* hard stuff - need full collect
*/
- markAndSweep(__context);
+ __markAndSweep(__context);
ok = __addShadowObject(self, 0);
if (ok == false) {
/*