Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections.spur-nice.576.mcz
==================== Summary ====================
Name: Collections.spur-nice.576
Author: eem
Time: 24 July 2014, 11:17:50.427 am
UUID: 11b232ab-e47e-473c-8b0c-d737ff322bc6
Ancestors: Collections-nice.576
Collections-nice.576 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.172
Convert a WriteStream into a ReadStream.
Beware, this version is optimized to avoid a copy, but is sharing some state.
Thus:
s := WriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s readStream.
is a good replacement for:
s := ReadWriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s reset
But avoid overwriting like this:
w := String new writeStream.
self writeSomethingOn: w.
r := w readStream.
self writeSomethingElseOn: w reset.
self compare: r to: w readStream.
=============== Diff against Collections-nice.576 ===============
Item was changed:
==== ERROR ===
Error: Unrecognized class type
24 July 2014 9:18:39.186 pm
VM: unix - a SmalltalkImage
Image: Squeak3.11alpha [latest update: #8824]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/squeaksource
Trusted Dir /home/squeaksource/secure
Untrusted Dir /home/squeaksource/My Squeak
MCClassDefinition(Object)>>error:
Receiver: a MCClassDefinition(Character)
Arguments and temporary variables:
aString: 'Unrecognized class type'
Receiver's instance variables:
name: #Character
superclassName: #Magnitude
variables: an OrderedCollection(a MCClassVariableDefinition(CharacterTable) a M...etc...
category: #'Collections-Strings'
type: #immediate
comment: 'I represent a character by storing its associated Unicode. The first ...etc...
commentStamp: 'ar 4/9/2005 22:35'
traitComposition: nil
classTraitComposition: nil
MCClassDefinition>>kindOfSubclass
Receiver: a MCClassDefinition(Character)
Arguments and temporary variables:
Receiver's instance variables:
name: #Character
superclassName: #Magnitude
variables: an OrderedCollection(a MCClassVariableDefinition(CharacterTable) a M...etc...
category: #'Collections-Strings'
type: #immediate
comment: 'I represent a character by storing its associated Unicode. The first ...etc...
commentStamp: 'ar 4/9/2005 22:35'
traitComposition: nil
classTraitComposition: nil
MCClassDefinition>>printDefinitionOn:
Receiver: a MCClassDefinition(Character)
Arguments and temporary variables:
stream: a WriteStream
Receiver's instance variables:
name: #Character
superclassName: #Magnitude
variables: an OrderedCollection(a MCClassVariableDefinition(CharacterTable) a M...etc...
category: #'Collections-Strings'
type: #immediate
comment: 'I represent a character by storing its associated Unicode. The first ...etc...
commentStamp: 'ar 4/9/2005 22:35'
traitComposition: nil
classTraitComposition: nil
[] in MCDiffyTextWriter(MCStWriter)>>writeClassDefinition:
Receiver: a MCDiffyTextWriter
Arguments and temporary variables:
definition: a WriteStream
s: a MCClassDefinition(Character)
Receiver's instance variables:
stream: a WriteStream
initStream: nil
--- The full stack ---
MCClassDefinition(Object)>>error:
MCClassDefinition>>kindOfSubclass
MCClassDefinition>>printDefinitionOn:
[] in MCDiffyTextWriter(MCStWriter)>>writeClassDefinition:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
String class(SequenceableCollection class)>>new:streamContents:
String class(SequenceableCollection class)>>streamContents:
MCDiffyTextWriter(MCTextWriter)>>chunkContents:
MCDiffyTextWriter(MCStWriter)>>writeClassDefinition:
MCDiffyTextWriter(MCStWriter)>>visitClassDefinition:
MCClassDefinition>>accept:
[] in MCDiffyTextWriter(MCTextWriter)>>visitInFork:
String class(SequenceableCollection class)>>new:streamContents:
String class(SequenceableCollection class)>>streamContents:
MCDiffyTextWriter(MCTextWriter)>>visitInFork:
MCDiffyTextWriter>>writePatchFrom:to:
MCDiffyTextWriter>>writeModification:
[] in MCDiffyTextWriter>>writePatch:
SortedCollection(OrderedCollection)>>do:
MCDiffyTextWriter>>writePatch:
SSDiffyTextWriter>>writePatch:
[] in SSDiffyTextWriter>>writeVersion:for:
BlockClosure>>on:do:
SSDiffyTextWriter>>writeVersion:for:
[] in SSEMailSubscription>>versionAdded:to:
BlockClosure>>on:do:
SSEMailSubscription>>versionAdded:to:
[] in [] in SSProject>>versionAdded:
[] in BlockClosure>>newProcess
Nicolas Cellier uploaded a new version of Installer-Core to project The Trunk:
http://source.squeak.org/trunk/Installer-Core-nice.394.mcz
==================== Summary ====================
Name: Installer-Core-nice.394
Author: nice
Time: 24 July 2014, 10:41:53.896 pm
UUID: 4b5836b6-86f9-4ece-8533-508a079ebb06
Ancestors: Installer-Core-cmm.393
Replace usage of ReadWriteStream for piping transformations by alternate WriteStream converted to ReadStream.
=============== Diff against Installer-Core-cmm.393 ===============
Item was changed:
----- Method: InstallerInternetBased>>extractFromHtml:option: (in category 'as yet unclassified') -----
extractFromHtml: html option: allOrLast
| start stop test in |
start := self markersBegin.
stop := self markersEnd.
test := self markersTest.
+ in := WriteStream with: String new.
- in := ReadWriteStream with: String new.
[ html upToAll: start; atEnd ]
whileFalse: [
| chunk |
(allOrLast == #last) ifTrue: [ in resetToStart ].
chunk := html upToAll: stop.
self isSkipLoadingTestsSet ifTrue: [ chunk := chunk readStream upToAll: test ].
in nextPutAll: chunk.
].
+ ^self removeHtmlMarkupFrom: in readStream
- ^self removeHtmlMarkupFrom: in reset
!
Item was changed:
----- Method: InstallerInternetBased>>removeHtmlMarkupFrom: (in category 'as yet unclassified') -----
removeHtmlMarkupFrom: in
| out |
+ out := WriteStream on: (String new: 100).
- out := ReadWriteStream on: (String new: 100).
[ in atEnd ] whileFalse: [
out nextPutAll: (in upTo: $<).
(((in upTo: $>) asLowercase beginsWith: 'br') and: [ (in peek = Character cr) ]) ifTrue: [ in next ].
].
+ ^self replaceEntitiesIn: out readStream.
- ^self replaceEntitiesIn: out reset.
!
Item was changed:
----- Method: InstallerInternetBased>>replaceEntitiesIn: (in category 'url') -----
replaceEntitiesIn: in
| out |
+ out := WriteStream on: (String new: 100).
- out := ReadWriteStream on: (String new: 100).
[ in atEnd ] whileFalse: [
out nextPutAll: ((in upTo: $&) replaceAll: Character lf with: Character cr).
in atEnd ifFalse: [ out nextPutAll: (self class entities at: (in upTo: $;) ifAbsent: '?') ].
].
+ ^out readStream!
- ^out reset!
Nicolas Cellier uploaded a new version of Installer-Core to project The Trunk:
http://source.squeak.org/trunk/Installer-Core-nice.394.mcz
==================== Summary ====================
Name: Installer-Core-nice.394
Author: nice
Time: 24 July 2014, 10:41:53.896 pm
UUID: 4b5836b6-86f9-4ece-8533-508a079ebb06
Ancestors: Installer-Core-cmm.393
Replace usage of ReadWriteStream for piping transformations by alternate WriteStream converted to ReadStream.
=============== Diff against Installer-Core-cmm.393 ===============
Item was changed:
----- Method: InstallerInternetBased>>extractFromHtml:option: (in category 'as yet unclassified') -----
extractFromHtml: html option: allOrLast
| start stop test in |
start := self markersBegin.
stop := self markersEnd.
test := self markersTest.
+ in := WriteStream with: String new.
- in := ReadWriteStream with: String new.
[ html upToAll: start; atEnd ]
whileFalse: [
| chunk |
(allOrLast == #last) ifTrue: [ in resetToStart ].
chunk := html upToAll: stop.
self isSkipLoadingTestsSet ifTrue: [ chunk := chunk readStream upToAll: test ].
in nextPutAll: chunk.
].
+ ^self removeHtmlMarkupFrom: in readStream
- ^self removeHtmlMarkupFrom: in reset
!
Item was changed:
----- Method: InstallerInternetBased>>removeHtmlMarkupFrom: (in category 'as yet unclassified') -----
removeHtmlMarkupFrom: in
| out |
+ out := WriteStream on: (String new: 100).
- out := ReadWriteStream on: (String new: 100).
[ in atEnd ] whileFalse: [
out nextPutAll: (in upTo: $<).
(((in upTo: $>) asLowercase beginsWith: 'br') and: [ (in peek = Character cr) ]) ifTrue: [ in next ].
].
+ ^self replaceEntitiesIn: out readStream.
- ^self replaceEntitiesIn: out reset.
!
Item was changed:
----- Method: InstallerInternetBased>>replaceEntitiesIn: (in category 'url') -----
replaceEntitiesIn: in
| out |
+ out := WriteStream on: (String new: 100).
- out := ReadWriteStream on: (String new: 100).
[ in atEnd ] whileFalse: [
out nextPutAll: ((in upTo: $&) replaceAll: Character lf with: Character cr).
in atEnd ifFalse: [ out nextPutAll: (self class entities at: (in upTo: $;) ifAbsent: '?') ].
].
+ ^out readStream!
- ^out reset!
Nicolas Cellier uploaded a new version of Installer-Core to project The Trunk:
http://source.squeak.org/trunk/Installer-Core-nice.394.mcz
==================== Summary ====================
Name: Installer-Core-nice.394
Author: nice
Time: 24 July 2014, 10:41:53.896 pm
UUID: 4b5836b6-86f9-4ece-8533-508a079ebb06
Ancestors: Installer-Core-cmm.393
Replace usage of ReadWriteStream for piping transformations by alternate WriteStream converted to ReadStream.
=============== Diff against Installer-Core-cmm.393 ===============
Item was changed:
----- Method: InstallerInternetBased>>extractFromHtml:option: (in category 'as yet unclassified') -----
extractFromHtml: html option: allOrLast
| start stop test in |
start := self markersBegin.
stop := self markersEnd.
test := self markersTest.
+ in := WriteStream with: String new.
- in := ReadWriteStream with: String new.
[ html upToAll: start; atEnd ]
whileFalse: [
| chunk |
(allOrLast == #last) ifTrue: [ in resetToStart ].
chunk := html upToAll: stop.
self isSkipLoadingTestsSet ifTrue: [ chunk := chunk readStream upToAll: test ].
in nextPutAll: chunk.
].
+ ^self removeHtmlMarkupFrom: in readStream
- ^self removeHtmlMarkupFrom: in reset
!
Item was changed:
----- Method: InstallerInternetBased>>removeHtmlMarkupFrom: (in category 'as yet unclassified') -----
removeHtmlMarkupFrom: in
| out |
+ out := WriteStream on: (String new: 100).
- out := ReadWriteStream on: (String new: 100).
[ in atEnd ] whileFalse: [
out nextPutAll: (in upTo: $<).
(((in upTo: $>) asLowercase beginsWith: 'br') and: [ (in peek = Character cr) ]) ifTrue: [ in next ].
].
+ ^self replaceEntitiesIn: out readStream.
- ^self replaceEntitiesIn: out reset.
!
Item was changed:
----- Method: InstallerInternetBased>>replaceEntitiesIn: (in category 'url') -----
replaceEntitiesIn: in
| out |
+ out := WriteStream on: (String new: 100).
- out := ReadWriteStream on: (String new: 100).
[ in atEnd ] whileFalse: [
out nextPutAll: ((in upTo: $&) replaceAll: Character lf with: Character cr).
in atEnd ifFalse: [ out nextPutAll: (self class entities at: (in upTo: $;) ifAbsent: '?') ].
].
+ ^out readStream!
- ^out reset!
Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.576.mcz
==================== Summary ====================
Name: Collections-nice.576
Author: nice
Time: 24 July 2014, 10:36:08.474 pm
UUID: 1ec2cb3f-f168-4b7b-9ec1-57ae79508f5d
Ancestors: Collections-eem.575
Convert a WriteStream into a ReadStream.
Beware, this version is optimized to avoid a copy, but is sharing some state.
Thus:
s := WriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s readStream.
is a good replacement for:
s := ReadWriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s reset
But avoid overwriting like this:
w := String new writeStream.
self writeSomethingOn: w.
r := w readStream.
self writeSomethingElseOn: w reset.
self compare: r to: w readStream.
=============== Diff against Collections-eem.575 ===============
Item was added:
+ ----- Method: WriteStream>>readStream (in category 'converting') -----
+ readStream
+ "Answer a readStream on my contents truncated to current position.
+ Beware, the readStream shares the contents, so it will be modified if I'm written backward."
+ readLimit := readLimit max: position.
+ ^ReadStream on: collection from: (initialPositionOrNil ifNil: [1]) to: position!
Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.576.mcz
==================== Summary ====================
Name: Collections-nice.576
Author: nice
Time: 24 July 2014, 10:36:08.474 pm
UUID: 1ec2cb3f-f168-4b7b-9ec1-57ae79508f5d
Ancestors: Collections-eem.575
Convert a WriteStream into a ReadStream.
Beware, this version is optimized to avoid a copy, but is sharing some state.
Thus:
s := WriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s readStream.
is a good replacement for:
s := ReadWriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s reset
But avoid overwriting like this:
w := String new writeStream.
self writeSomethingOn: w.
r := w readStream.
self writeSomethingElseOn: w reset.
self compare: r to: w readStream.
=============== Diff against Collections-eem.575 ===============
Item was added:
+ ----- Method: WriteStream>>readStream (in category 'converting') -----
+ readStream
+ "Answer a readStream on my contents truncated to current position.
+ Beware, the readStream shares the contents, so it will be modified if I'm written backward."
+ readLimit := readLimit max: position.
+ ^ReadStream on: collection from: (initialPositionOrNil ifNil: [1]) to: position!
Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.576.mcz
==================== Summary ====================
Name: Collections-nice.576
Author: nice
Time: 24 July 2014, 10:36:08.474 pm
UUID: 1ec2cb3f-f168-4b7b-9ec1-57ae79508f5d
Ancestors: Collections-eem.575
Convert a WriteStream into a ReadStream.
Beware, this version is optimized to avoid a copy, but is sharing some state.
Thus:
s := WriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s readStream.
is a good replacement for:
s := ReadWriteStream on: String new.
self writeSomethingOn: s.
self readSomethingFrom: s reset
But avoid overwriting like this:
w := String new writeStream.
self writeSomethingOn: w.
r := w readStream.
self writeSomethingElseOn: w reset.
self compare: r to: w readStream.
=============== Diff against Collections-eem.575 ===============
Item was added:
+ ----- Method: WriteStream>>readStream (in category 'converting') -----
+ readStream
+ "Answer a readStream on my contents truncated to current position.
+ Beware, the readStream shares the contents, so it will be modified if I'm written backward."
+ readLimit := readLimit max: position.
+ ^ReadStream on: collection from: (initialPositionOrNil ifNil: [1]) to: position!