Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.577.mcz
==================== Summary ====================
Name: Collections-nice.577
Author: nice
Time: 26 July 2014, 11:34:56.071 pm
UUID: c5925cce-0dac-4744-9c8e-08888f259f63
Ancestors: Collections-nice.576
Convert Base64MimeConverter implementation from ReadWriteStream to alternate WriteStream/ReadStream.
Beware, the main class messages now answer a ReadStream, not a ReadWriteStream.
=============== Diff against Collections-nice.576 ===============
Item was changed:
----- Method: Base64MimeConverter class>>encodeInteger: (in category 'as yet unclassified') -----
encodeInteger: int
| strm |
"Encode an integer of any length and return the MIME string"
+ strm := WriteStream on: (ByteArray new: int digitLength).
- strm := ReadWriteStream on: (ByteArray new: int digitLength).
1 to: int digitLength do: [:ii | strm nextPut: (int digitAt: ii)].
+ ^ ((self mimeEncode: strm readStream) contents) copyUpTo: $= "remove padding"!
- strm reset.
- ^ ((self mimeEncode: strm) contents) copyUpTo: $= "remove padding"!
Item was changed:
----- Method: Base64MimeConverter class>>mimeDecodeToBytes: (in category 'as yet unclassified') -----
mimeDecodeToBytes: aStream
+ "Return a ReadStream of the original ByteArray. aStream has only 65 innocuous character values. aStream is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
- "Return a RWBinaryOrTextStream of the original ByteArray. aStream has only 65 innocuous character values. aStream is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
| me |
aStream position: 0.
me := self new mimeStream: aStream.
+ me dataStream: (WriteStream on: (ByteArray new: aStream size * 3 // 4)).
- me dataStream: (RWBinaryOrTextStream on: (ByteArray new: aStream size * 3 // 4)).
me mimeDecodeToByteArray.
+ ^ me dataStream readStream!
- me dataStream position: 0.
- ^ me dataStream!
Item was changed:
----- Method: Base64MimeConverter class>>mimeDecodeToChars: (in category 'as yet unclassified') -----
mimeDecodeToChars: aStream
"Return a ReadWriteStream of the original String. aStream has only 65 innocuous character values. It is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
| me |
aStream position: 0.
me := self new mimeStream: aStream.
+ me dataStream: (WriteStream on: (String new: aStream size * 3 // 4)).
- me dataStream: (ReadWriteStream on: (String new: aStream size * 3 // 4)).
me mimeDecode.
+ ^ me dataStream readStream!
- me dataStream position: 0.
- ^ me dataStream!
Item was changed:
----- Method: Base64MimeConverter class>>mimeEncode:multiLine:atStart: (in category 'as yet unclassified') -----
mimeEncode: aStream multiLine: aBool atStart: resetInput
+ "Return a ReadStream of characters. The data of aStream is encoded as 65 innocuous characters. (See class comment). 3 bytes in aStream goes to 4 bytes in output."
- "Return a ReadWriteStream of characters. The data of aStream is encoded as 65 innocuous characters. (See class comment). 3 bytes in aStream goes to 4 bytes in output."
| me |
resetInput ifTrue:[aStream position: 0].
me := self new dataStream: aStream.
me multiLine: aBool.
+ me mimeStream: (WriteStream on: (String new: aStream size + 20 * 4 // 3)).
- me mimeStream: (ReadWriteStream on: (String new: aStream size + 20 * 4 // 3)).
me mimeEncode.
+ ^ me mimeStream readStream!
- me mimeStream position: 0.
- ^ me mimeStream!
Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.577.mcz
==================== Summary ====================
Name: Collections-nice.577
Author: nice
Time: 26 July 2014, 11:34:56.071 pm
UUID: c5925cce-0dac-4744-9c8e-08888f259f63
Ancestors: Collections-nice.576
Convert Base64MimeConverter implementation from ReadWriteStream to alternate WriteStream/ReadStream.
Beware, the main class messages now answer a ReadStream, not a ReadWriteStream.
=============== Diff against Collections-nice.576 ===============
Item was changed:
----- Method: Base64MimeConverter class>>encodeInteger: (in category 'as yet unclassified') -----
encodeInteger: int
| strm |
"Encode an integer of any length and return the MIME string"
+ strm := WriteStream on: (ByteArray new: int digitLength).
- strm := ReadWriteStream on: (ByteArray new: int digitLength).
1 to: int digitLength do: [:ii | strm nextPut: (int digitAt: ii)].
+ ^ ((self mimeEncode: strm readStream) contents) copyUpTo: $= "remove padding"!
- strm reset.
- ^ ((self mimeEncode: strm) contents) copyUpTo: $= "remove padding"!
Item was changed:
----- Method: Base64MimeConverter class>>mimeDecodeToBytes: (in category 'as yet unclassified') -----
mimeDecodeToBytes: aStream
+ "Return a ReadStream of the original ByteArray. aStream has only 65 innocuous character values. aStream is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
- "Return a RWBinaryOrTextStream of the original ByteArray. aStream has only 65 innocuous character values. aStream is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
| me |
aStream position: 0.
me := self new mimeStream: aStream.
+ me dataStream: (WriteStream on: (ByteArray new: aStream size * 3 // 4)).
- me dataStream: (RWBinaryOrTextStream on: (ByteArray new: aStream size * 3 // 4)).
me mimeDecodeToByteArray.
+ ^ me dataStream readStream!
- me dataStream position: 0.
- ^ me dataStream!
Item was changed:
----- Method: Base64MimeConverter class>>mimeDecodeToChars: (in category 'as yet unclassified') -----
mimeDecodeToChars: aStream
"Return a ReadWriteStream of the original String. aStream has only 65 innocuous character values. It is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
| me |
aStream position: 0.
me := self new mimeStream: aStream.
+ me dataStream: (WriteStream on: (String new: aStream size * 3 // 4)).
- me dataStream: (ReadWriteStream on: (String new: aStream size * 3 // 4)).
me mimeDecode.
+ ^ me dataStream readStream!
- me dataStream position: 0.
- ^ me dataStream!
Item was changed:
----- Method: Base64MimeConverter class>>mimeEncode:multiLine:atStart: (in category 'as yet unclassified') -----
mimeEncode: aStream multiLine: aBool atStart: resetInput
+ "Return a ReadStream of characters. The data of aStream is encoded as 65 innocuous characters. (See class comment). 3 bytes in aStream goes to 4 bytes in output."
- "Return a ReadWriteStream of characters. The data of aStream is encoded as 65 innocuous characters. (See class comment). 3 bytes in aStream goes to 4 bytes in output."
| me |
resetInput ifTrue:[aStream position: 0].
me := self new dataStream: aStream.
me multiLine: aBool.
+ me mimeStream: (WriteStream on: (String new: aStream size + 20 * 4 // 3)).
- me mimeStream: (ReadWriteStream on: (String new: aStream size + 20 * 4 // 3)).
me mimeEncode.
+ ^ me mimeStream readStream!
- me mimeStream position: 0.
- ^ me mimeStream!
Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.577.mcz
==================== Summary ====================
Name: Collections-nice.577
Author: nice
Time: 26 July 2014, 11:34:56.071 pm
UUID: c5925cce-0dac-4744-9c8e-08888f259f63
Ancestors: Collections-nice.576
Convert Base64MimeConverter implementation from ReadWriteStream to alternate WriteStream/ReadStream.
Beware, the main class messages now answer a ReadStream, not a ReadWriteStream.
=============== Diff against Collections-nice.576 ===============
Item was changed:
----- Method: Base64MimeConverter class>>encodeInteger: (in category 'as yet unclassified') -----
encodeInteger: int
| strm |
"Encode an integer of any length and return the MIME string"
+ strm := WriteStream on: (ByteArray new: int digitLength).
- strm := ReadWriteStream on: (ByteArray new: int digitLength).
1 to: int digitLength do: [:ii | strm nextPut: (int digitAt: ii)].
+ ^ ((self mimeEncode: strm readStream) contents) copyUpTo: $= "remove padding"!
- strm reset.
- ^ ((self mimeEncode: strm) contents) copyUpTo: $= "remove padding"!
Item was changed:
----- Method: Base64MimeConverter class>>mimeDecodeToBytes: (in category 'as yet unclassified') -----
mimeDecodeToBytes: aStream
+ "Return a ReadStream of the original ByteArray. aStream has only 65 innocuous character values. aStream is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
- "Return a RWBinaryOrTextStream of the original ByteArray. aStream has only 65 innocuous character values. aStream is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
| me |
aStream position: 0.
me := self new mimeStream: aStream.
+ me dataStream: (WriteStream on: (ByteArray new: aStream size * 3 // 4)).
- me dataStream: (RWBinaryOrTextStream on: (ByteArray new: aStream size * 3 // 4)).
me mimeDecodeToByteArray.
+ ^ me dataStream readStream!
- me dataStream position: 0.
- ^ me dataStream!
Item was changed:
----- Method: Base64MimeConverter class>>mimeDecodeToChars: (in category 'as yet unclassified') -----
mimeDecodeToChars: aStream
"Return a ReadWriteStream of the original String. aStream has only 65 innocuous character values. It is not binary. (See class comment). 4 bytes in aStream goes to 3 bytes in output."
| me |
aStream position: 0.
me := self new mimeStream: aStream.
+ me dataStream: (WriteStream on: (String new: aStream size * 3 // 4)).
- me dataStream: (ReadWriteStream on: (String new: aStream size * 3 // 4)).
me mimeDecode.
+ ^ me dataStream readStream!
- me dataStream position: 0.
- ^ me dataStream!
Item was changed:
----- Method: Base64MimeConverter class>>mimeEncode:multiLine:atStart: (in category 'as yet unclassified') -----
mimeEncode: aStream multiLine: aBool atStart: resetInput
+ "Return a ReadStream of characters. The data of aStream is encoded as 65 innocuous characters. (See class comment). 3 bytes in aStream goes to 4 bytes in output."
- "Return a ReadWriteStream of characters. The data of aStream is encoded as 65 innocuous characters. (See class comment). 3 bytes in aStream goes to 4 bytes in output."
| me |
resetInput ifTrue:[aStream position: 0].
me := self new dataStream: aStream.
me multiLine: aBool.
+ me mimeStream: (WriteStream on: (String new: aStream size + 20 * 4 // 3)).
- me mimeStream: (ReadWriteStream on: (String new: aStream size + 20 * 4 // 3)).
me mimeEncode.
+ ^ me mimeStream readStream!
- me mimeStream position: 0.
- ^ me mimeStream!
Eliot Miranda uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-eem.595.mcz
==================== Summary ====================
Name: Monticello-eem.595
Author: eem
Time: 26 July 2014, 7:05:32.68 am
UUID: a8f13cc3-8d2a-428b-a218-f54bb1a5f4bf
Ancestors: Monticello-eem.594
Don't prompt for a selector when getting the selected
method reference in a BrowserRequestor. This fixes
trying to open a browser in a MessageSet with no selection.
The Monticello history decoration would prompt for a
selector and select that underneath the cursor.
=============== Diff against Monticello-eem.594 ===============
Item was changed:
----- Method: BrowserRequestor>>selectedMethodReference (in category '*monticello-history') -----
selectedMethodReference
^ MethodReference
class: self getClass
+ selector: self getBrowser selectedMessageName!
- selector: self getSelector!
Eliot Miranda uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-eem.595.mcz
==================== Summary ====================
Name: Monticello-eem.595
Author: eem
Time: 26 July 2014, 7:05:32.68 am
UUID: a8f13cc3-8d2a-428b-a218-f54bb1a5f4bf
Ancestors: Monticello-eem.594
Don't prompt for a selector when getting the selected
method reference in a BrowserRequestor. This fixes
trying to open a browser in a MessageSet with no selection.
The Monticello history decoration would prompt for a
selector and select that underneath the cursor.
=============== Diff against Monticello-eem.594 ===============
Item was changed:
----- Method: BrowserRequestor>>selectedMethodReference (in category '*monticello-history') -----
selectedMethodReference
^ MethodReference
class: self getClass
+ selector: self getBrowser selectedMessageName!
- selector: self getSelector!
Eliot Miranda uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-eem.595.mcz
==================== Summary ====================
Name: Monticello-eem.595
Author: eem
Time: 26 July 2014, 7:05:32.68 am
UUID: a8f13cc3-8d2a-428b-a218-f54bb1a5f4bf
Ancestors: Monticello-eem.594
Don't prompt for a selector when getting the selected
method reference in a BrowserRequestor. This fixes
trying to open a browser in a MessageSet with no selection.
The Monticello history decoration would prompt for a
selector and select that underneath the cursor.
=============== Diff against Monticello-eem.594 ===============
Item was changed:
----- Method: BrowserRequestor>>selectedMethodReference (in category '*monticello-history') -----
selectedMethodReference
^ MethodReference
class: self getClass
+ selector: self getBrowser selectedMessageName!
- selector: self getSelector!
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
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