Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.845.mcz
==================== Summary ====================
Name: Kernel-cmm.845
Author: cmm
Time: 2 May 2014, 2:23:45.137 pm
UUID: b0fee9bf-c59e-4560-9a57-eddd2e055838
Ancestors: Kernel-cwp.844
- #flush after printing error information, and before image immediately exits, otherwise it won't always get written.
- Add accessor for #negativeInfinity so I don't have to create new Float via Float infinity negated when all I want to do is compare.
- #asBytesDescription for Float too because this is a very useful printing method for even things other than byte counts (and we should think of a better name for it too).
=============== Diff against Kernel-cwp.844 ===============
Item was changed:
----- Method: Error>>printVerboseOn: (in category 'printing') -----
printVerboseOn: aStream
aStream
+ nextPutAll: 'vvvvvvvvvvvvvvvvvv ' , self description , ' vvvvvvvvvvvvvvvvvv' ;
+ cr ;
+ nextPutAll: 'The time is ', DateAndTime now asString ;
+ cr.
- " setToEnd ;"
- nextPutAll: 'vvvvvvvvvvvvvvvvvv ' , self description , ' vvvvvvvvvvvvvvvvvv' ;
- cr ;
- nextPutAll: 'The time is ', DateAndTime now asString ;
- cr.
"Allow applications to optionally print extra details without overriding a base package."
(self respondsTo: #printDetailsOn:) ifTrue: [ self printDetailsOn: aStream ].
aStream
+ nextPutAll: self signalerContext longStack ;
+ cr ;
+ nextPutAll: '^^^^^^^^^^^^^^^^^^ ' , self description , ' ^^^^^^^^^^^^^^^^^^' ;
+ cr ;
+ flush!
- nextPutAll: self signalerContext longStack ;
- cr ;
- nextPutAll: '^^^^^^^^^^^^^^^^^^ ' , self description , ' ^^^^^^^^^^^^^^^^^^' ;
- cr!
Item was added:
+ ----- Method: Float class>>negativeInfinity (in category 'constants') -----
+ negativeInfinity
+ "Answer the value used to represent a negative infinity."
+ ^ NegativeInfinity!
Item was added:
+ ----- Method: Float>>asBytesDescription (in category 'printing') -----
+ asBytesDescription
+ ^ self asInteger asBytesDescription!
Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.845.mcz
==================== Summary ====================
Name: Kernel-cmm.845
Author: cmm
Time: 2 May 2014, 2:23:45.137 pm
UUID: b0fee9bf-c59e-4560-9a57-eddd2e055838
Ancestors: Kernel-cwp.844
- #flush after printing error information, and before image immediately exits, otherwise it won't always get written.
- Add accessor for #negativeInfinity so I don't have to create new Float via Float infinity negated when all I want to do is compare.
- #asBytesDescription for Float too because this is a very useful printing method for even things other than byte counts (and we should think of a better name for it too).
=============== Diff against Kernel-cwp.844 ===============
Item was changed:
----- Method: Error>>printVerboseOn: (in category 'printing') -----
printVerboseOn: aStream
aStream
+ nextPutAll: 'vvvvvvvvvvvvvvvvvv ' , self description , ' vvvvvvvvvvvvvvvvvv' ;
+ cr ;
+ nextPutAll: 'The time is ', DateAndTime now asString ;
+ cr.
- " setToEnd ;"
- nextPutAll: 'vvvvvvvvvvvvvvvvvv ' , self description , ' vvvvvvvvvvvvvvvvvv' ;
- cr ;
- nextPutAll: 'The time is ', DateAndTime now asString ;
- cr.
"Allow applications to optionally print extra details without overriding a base package."
(self respondsTo: #printDetailsOn:) ifTrue: [ self printDetailsOn: aStream ].
aStream
+ nextPutAll: self signalerContext longStack ;
+ cr ;
+ nextPutAll: '^^^^^^^^^^^^^^^^^^ ' , self description , ' ^^^^^^^^^^^^^^^^^^' ;
+ cr ;
+ flush!
- nextPutAll: self signalerContext longStack ;
- cr ;
- nextPutAll: '^^^^^^^^^^^^^^^^^^ ' , self description , ' ^^^^^^^^^^^^^^^^^^' ;
- cr!
Item was added:
+ ----- Method: Float class>>negativeInfinity (in category 'constants') -----
+ negativeInfinity
+ "Answer the value used to represent a negative infinity."
+ ^ NegativeInfinity!
Item was added:
+ ----- Method: Float>>asBytesDescription (in category 'printing') -----
+ asBytesDescription
+ ^ self asInteger asBytesDescription!
Chris Muller uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-cmm.845.mcz
==================== Summary ====================
Name: Kernel-cmm.845
Author: cmm
Time: 2 May 2014, 2:23:45.137 pm
UUID: b0fee9bf-c59e-4560-9a57-eddd2e055838
Ancestors: Kernel-cwp.844
- #flush after printing error information, and before image immediately exits, otherwise it won't always get written.
- Add accessor for #negativeInfinity so I don't have to create new Float via Float infinity negated when all I want to do is compare.
- #asBytesDescription for Float too because this is a very useful printing method for even things other than byte counts (and we should think of a better name for it too).
=============== Diff against Kernel-cwp.844 ===============
Item was changed:
----- Method: Error>>printVerboseOn: (in category 'printing') -----
printVerboseOn: aStream
aStream
+ nextPutAll: 'vvvvvvvvvvvvvvvvvv ' , self description , ' vvvvvvvvvvvvvvvvvv' ;
+ cr ;
+ nextPutAll: 'The time is ', DateAndTime now asString ;
+ cr.
- " setToEnd ;"
- nextPutAll: 'vvvvvvvvvvvvvvvvvv ' , self description , ' vvvvvvvvvvvvvvvvvv' ;
- cr ;
- nextPutAll: 'The time is ', DateAndTime now asString ;
- cr.
"Allow applications to optionally print extra details without overriding a base package."
(self respondsTo: #printDetailsOn:) ifTrue: [ self printDetailsOn: aStream ].
aStream
+ nextPutAll: self signalerContext longStack ;
+ cr ;
+ nextPutAll: '^^^^^^^^^^^^^^^^^^ ' , self description , ' ^^^^^^^^^^^^^^^^^^' ;
+ cr ;
+ flush!
- nextPutAll: self signalerContext longStack ;
- cr ;
- nextPutAll: '^^^^^^^^^^^^^^^^^^ ' , self description , ' ^^^^^^^^^^^^^^^^^^' ;
- cr!
Item was added:
+ ----- Method: Float class>>negativeInfinity (in category 'constants') -----
+ negativeInfinity
+ "Answer the value used to represent a negative infinity."
+ ^ NegativeInfinity!
Item was added:
+ ----- Method: Float>>asBytesDescription (in category 'printing') -----
+ asBytesDescription
+ ^ self asInteger asBytesDescription!
Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.567.mcz
==================== Summary ====================
Name: Collections-eem.567
Author: eem
Time: 2 May 2014, 9:54:58.139 am
UUID: 78f9c7bb-cb9d-487c-91ba-edd8b89502c1
Ancestors: Collections-nice.566
Fix ([Read|Write]Stream on:...from:...to:...) contents. The old code
would always copy from 1 to the end, not from whatever the
from: argument was.
=============== Diff against Collections-nice.566 ===============
Item was changed:
PositionableStream subclass: #ReadStream
+ instanceVariableNames: 'initialPositionOrNil'
- instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
!ReadStream commentStamp: '<historical>' prior: 0!
I represent an accessor for a sequence of objects that can only read objects from the sequence.!
Item was added:
+ ----- Method: ReadStream>>contents (in category 'accessing') -----
+ contents
+ "Answer with a copy of my collection from the start to readLimit."
+
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: readLimit!
Item was changed:
----- Method: ReadStream>>on:from:to: (in category 'private') -----
on: aCollection from: firstIndex to: lastIndex
| len |
collection := aCollection.
readLimit := lastIndex > (len := collection size)
ifTrue: [len]
ifFalse: [lastIndex].
position := firstIndex <= 1
ifTrue: [0]
+ ifFalse: [firstIndex - 1].
+ initialPositionOrNil := position + 1!
- ifFalse: [firstIndex - 1]!
Item was changed:
----- Method: ReadWriteStream>>contents (in category 'accessing') -----
contents
+ "Answer with a copy of my collection from the start to readLimit."
- "Answer with a copy of my collection from 1 to readLimit."
readLimit := readLimit max: position.
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: readLimit!
- ^collection copyFrom: 1 to: readLimit!
Item was changed:
PositionableStream subclass: #WriteStream
+ instanceVariableNames: 'writeLimit initialPositionOrNil'
- instanceVariableNames: 'writeLimit'
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
!WriteStream commentStamp: '<historical>' prior: 0!
I represent an accessor for a sequence of objects that can only store objects in the sequence.!
Item was changed:
----- Method: WriteStream>>contents (in category 'accessing') -----
contents
+ "Answer with a copy of my collection from the start to the current position."
-
readLimit := readLimit max: position.
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: position!
- ^collection copyFrom: 1 to: position!
Item was changed:
----- Method: WriteStream>>on:from:to: (in category 'private') -----
on: aCollection from: firstIndex to: lastIndex
| len |
collection := aCollection.
readLimit :=
writeLimit := lastIndex > (len := collection size)
ifTrue: [len]
ifFalse: [lastIndex].
position := firstIndex <= 1
ifTrue: [0]
+ ifFalse: [firstIndex - 1].
+ initialPositionOrNil := position + 1!
- ifFalse: [firstIndex - 1]!
Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.567.mcz
==================== Summary ====================
Name: Collections-eem.567
Author: eem
Time: 2 May 2014, 9:54:58.139 am
UUID: 78f9c7bb-cb9d-487c-91ba-edd8b89502c1
Ancestors: Collections-nice.566
Fix ([Read|Write]Stream on:...from:...to:...) contents. The old code
would always copy from 1 to the end, not from whatever the
from: argument was.
=============== Diff against Collections-nice.566 ===============
Item was changed:
PositionableStream subclass: #ReadStream
+ instanceVariableNames: 'initialPositionOrNil'
- instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
!ReadStream commentStamp: '<historical>' prior: 0!
I represent an accessor for a sequence of objects that can only read objects from the sequence.!
Item was added:
+ ----- Method: ReadStream>>contents (in category 'accessing') -----
+ contents
+ "Answer with a copy of my collection from the start to readLimit."
+
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: readLimit!
Item was changed:
----- Method: ReadStream>>on:from:to: (in category 'private') -----
on: aCollection from: firstIndex to: lastIndex
| len |
collection := aCollection.
readLimit := lastIndex > (len := collection size)
ifTrue: [len]
ifFalse: [lastIndex].
position := firstIndex <= 1
ifTrue: [0]
+ ifFalse: [firstIndex - 1].
+ initialPositionOrNil := position + 1!
- ifFalse: [firstIndex - 1]!
Item was changed:
----- Method: ReadWriteStream>>contents (in category 'accessing') -----
contents
+ "Answer with a copy of my collection from the start to readLimit."
- "Answer with a copy of my collection from 1 to readLimit."
readLimit := readLimit max: position.
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: readLimit!
- ^collection copyFrom: 1 to: readLimit!
Item was changed:
PositionableStream subclass: #WriteStream
+ instanceVariableNames: 'writeLimit initialPositionOrNil'
- instanceVariableNames: 'writeLimit'
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
!WriteStream commentStamp: '<historical>' prior: 0!
I represent an accessor for a sequence of objects that can only store objects in the sequence.!
Item was changed:
----- Method: WriteStream>>contents (in category 'accessing') -----
contents
+ "Answer with a copy of my collection from the start to the current position."
-
readLimit := readLimit max: position.
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: position!
- ^collection copyFrom: 1 to: position!
Item was changed:
----- Method: WriteStream>>on:from:to: (in category 'private') -----
on: aCollection from: firstIndex to: lastIndex
| len |
collection := aCollection.
readLimit :=
writeLimit := lastIndex > (len := collection size)
ifTrue: [len]
ifFalse: [lastIndex].
position := firstIndex <= 1
ifTrue: [0]
+ ifFalse: [firstIndex - 1].
+ initialPositionOrNil := position + 1!
- ifFalse: [firstIndex - 1]!
Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.567.mcz
==================== Summary ====================
Name: Collections-eem.567
Author: eem
Time: 2 May 2014, 9:54:58.139 am
UUID: 78f9c7bb-cb9d-487c-91ba-edd8b89502c1
Ancestors: Collections-nice.566
Fix ([Read|Write]Stream on:...from:...to:...) contents. The old code
would always copy from 1 to the end, not from whatever the
from: argument was.
=============== Diff against Collections-nice.566 ===============
Item was changed:
PositionableStream subclass: #ReadStream
+ instanceVariableNames: 'initialPositionOrNil'
- instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
!ReadStream commentStamp: '<historical>' prior: 0!
I represent an accessor for a sequence of objects that can only read objects from the sequence.!
Item was added:
+ ----- Method: ReadStream>>contents (in category 'accessing') -----
+ contents
+ "Answer with a copy of my collection from the start to readLimit."
+
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: readLimit!
Item was changed:
----- Method: ReadStream>>on:from:to: (in category 'private') -----
on: aCollection from: firstIndex to: lastIndex
| len |
collection := aCollection.
readLimit := lastIndex > (len := collection size)
ifTrue: [len]
ifFalse: [lastIndex].
position := firstIndex <= 1
ifTrue: [0]
+ ifFalse: [firstIndex - 1].
+ initialPositionOrNil := position + 1!
- ifFalse: [firstIndex - 1]!
Item was changed:
----- Method: ReadWriteStream>>contents (in category 'accessing') -----
contents
+ "Answer with a copy of my collection from the start to readLimit."
- "Answer with a copy of my collection from 1 to readLimit."
readLimit := readLimit max: position.
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: readLimit!
- ^collection copyFrom: 1 to: readLimit!
Item was changed:
PositionableStream subclass: #WriteStream
+ instanceVariableNames: 'writeLimit initialPositionOrNil'
- instanceVariableNames: 'writeLimit'
classVariableNames: ''
poolDictionaries: ''
category: 'Collections-Streams'!
!WriteStream commentStamp: '<historical>' prior: 0!
I represent an accessor for a sequence of objects that can only store objects in the sequence.!
Item was changed:
----- Method: WriteStream>>contents (in category 'accessing') -----
contents
+ "Answer with a copy of my collection from the start to the current position."
-
readLimit := readLimit max: position.
+ ^collection copyFrom: (initialPositionOrNil ifNil: [1]) to: position!
- ^collection copyFrom: 1 to: position!
Item was changed:
----- Method: WriteStream>>on:from:to: (in category 'private') -----
on: aCollection from: firstIndex to: lastIndex
| len |
collection := aCollection.
readLimit :=
writeLimit := lastIndex > (len := collection size)
ifTrue: [len]
ifFalse: [lastIndex].
position := firstIndex <= 1
ifTrue: [0]
+ ifFalse: [firstIndex - 1].
+ initialPositionOrNil := position + 1!
- ifFalse: [firstIndex - 1]!