[squeak-dev] replaceFrom:to:with:startingAt:

Bert Freudenberg bert at freudenbergs.de
Mon Sep 22 20:34:13 UTC 2014


On 22.09.2014, at 22:21, Ron Teitelbaum <ron at usmedrec.com> wrote:

> 
>> From: Bert Freudenberg
>> Sent: Monday, September 22, 2014 4:00 PM
>> 
>> I just found out why PNG decoding was broken in SqueakJS [*]. Wouldn't
>> have believed that any code actually relied on the following behavior:
>> 
>> 	| a |
>> 	a := (1 to: 20) asArray.
>> 	a replaceFrom: 11 to: 20 with: a startingAt: 8.
>> 
>> 	==> #(1 2 3 4 5 6 7 8 9 10 8 9 10 8 9 10 8 9 10 8)
>> 
> That's funky!  Hope it wasn't my code!  Seems wrong to not copy the array
> before modifying it  (Like your buggy VM did).

It's not a copy. It moved the numbers 8-17 to index 11. Which is what I erroneously had assumed to be the desired behavior.

- Bert -

> Ron
> 
>> In my (buggy) VM it answered
>> 
>> 	==> #(1 2 3 4 5 6 7 8 9 10 8 9 10 11 12 13 14 15 16 17)
>> 
>> which apparently did not at all match what The Creators intended ;)
>> 
>> - Bert -
>> 
>> [*] specifically, #decompressBlock:with:
> 
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4142 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140922/30638c90/smime.bin


More information about the Squeak-dev mailing list