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

Lawson English lenglish5 at cox.net
Mon Sep 22 21:07:08 UTC 2014


If you told the average person that it didn't copy first, I think they 
would have assumed it was the wrong behavior.

If I told someone to do such a procedure using English words to numbers 
found 20 text-boxes, they would do it the "erroneous way," I am pretty sure.

L

On 9/22/14, 1:34 PM, Bert Freudenberg wrote:
> 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:
>>
>
>
>


-- 
Squeak from the very start (introduction to Squeak and Pharo Smalltalk for the (almost) complete and compleate beginner).
https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian Kernighan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140922/e7513e16/attachment.htm


More information about the Squeak-dev mailing list