Ok, just was expecting (very very deeply) not having to modify too much in
Glorp :). Anyway, I'll see what can I do in this front.

Now Damien, if streaming is only intended for arrays and strings, I'd
expect the expression 'OrderedCollection new writeStream' to raise an
error... :/

On Wed, Jun 13, 2012 at 5:29 PM, Levente Uzonyi <le...@elte.hu> wrote:

> On Wed, 13 Jun 2012, Guillermo Polito wrote:
>
>  soo, what do I do? :D
>>
>
> Streaming into an OrderedCollection is unnecessary, because
> OrderedCollection is already a stream-like object. If I were implementing
> Smalltalk now, I would probably add the stream protocol to it (#nextPut:,
> #nextPutAll:, etc).
> A simple fix to your problem is to replace the line
>
>        grownCollection := collection class new: newSize.
>
> with
>
>        grownCollection := collection class ofSize: newSize.
>
> in WriteStream >> #growTo: (note that I didn't check current Pharo code,
> so this might be different there).
>
>
> Levente
>
>
>
>> On 6/13/12, Camillo Bruni <camillobr...@gmail.com> wrote:
>>
>>> yup I know that :D
>>> And I provided a fix on e year ago, that got lost in a big refactoring...
>>> - I added an explicit #streamSpecies on the Collection classes.
>>> - By default it returns the same class
>>> - on Set / OrderedCollection / Symbol it returns the mutable types
>>> (LinkedList as well I think)
>>> - overwrote #streamContents: to convert from the #streamSpecies type
>>> back to
>>> the original class
>>>
>>>
>>>
>>> On 2012-06-13, at 14:56, Guillermo Polito wrote:
>>>
>>>  Hi guys!
>>>>
>>>> I'm chasing a bug that appeared in glorp under pharo 1.4.  Now, the
>>>> bug is due to some behavior changed in OrderedCollection I think. Look
>>>> at this piece of code:
>>>>
>>>>
>>>> oc := OrderedCollection new.
>>>> ws := oc writeStream.
>>>>
>>>> "this explodes"
>>>> ws nextPutAll: (OrderedCollection with: 1 with: 2 with: 3).
>>>>
>>>> "this works"
>>>> ws nextPutAll: {1.2.3}
>>>>
>>>>
>>>> And I'm puzzled, why should one work and the other not from the pov of
>>>> the
>>>> user?
>>>> And how should I replace that behavior if it's my bug?
>>>>
>>>> putting an asArray for each nextPutAll: does not look good for me... :S
>>>>
>>>> Tx,
>>>> Guille
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>

Reply via email to