[squeak-dev] The Trunk: Collections-cmm.443.mcz

Levente Uzonyi leves at elte.hu
Wed Jun 15 21:14:12 UTC 2011


On Wed, 15 Jun 2011, Chris Muller wrote:

> Yip..  After a few minutes of pain, I think I got it.  Please let me
> know if you have any problems.

It's still not good. Exceptions-cmm.34 is loaded after 
ToolBuilder-Kernel-cmm.49 by update-cmm.192, which is wrong, because 
ToolBuilder-Kernel already has ProgressInitiationException, but 
Exceptions-cmm.34 tries to modify it as it's own class. For some odd 
reason this gives a merge window. If you merge it, you'll have a DNU and 
an obsolete class.

The solution seems to be redoing update-cmm.192 to load Exceptions-cmm.34 
before ToolBuilder-Kernel-cmm.49. Note that there may be other 
dependencies which I didn't think about. I also think that one mcm should 
have been sufficient, but I'm not sure.

Anyway, to reproduce the problem, try updating the latest prebuilt image: 
http://ftp.squeak.org/4.3alpha/Squeak4.3alpha-11481.zip .


Levente

>
> thanks..
>
> On Wed, Jun 15, 2011 at 3:33 PM, Levente Uzonyi <leves at elte.hu> wrote:
>> On Wed, 15 Jun 2011, commits at source.squeak.org wrote:
>>
>>> Chris Muller uploaded a new version of Collections to project The Trunk:
>>> http://source.squeak.org/trunk/Collections-cmm.443.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: Collections-cmm.443
>>> Author: cmm
>>> Time: 15 June 2011, 3:14:51.751 pm
>>> UUID: 824d8b83-2a8f-024d-9ae1-5e9932165479
>>> Ancestors: Collections-nice.442
>>>
>>> Moved String>>displayProgressAt:from:to:during: to ToolBuilder-Kernel.
>>
>> You must create mcms, to force the load order, otherwise there can be a
>> point in time, when the method is not in the image (which is the current
>> case). Always load the package that adds the method first, then the package
>> which removes it.
>>
>>
>> Levente
>>
>>>
>>> =============== Diff against Collections-nice.442 ===============
>>>
>>> Item was removed:
>>> - ----- Method: String>>displayProgressAt:from:to:during: (in category
>>> 'displaying') -----
>>> - displayProgressAt: aPoint from: minVal to: maxVal during: workBlock
>>> -       "Display this string as a caption over a progress bar while
>>> workBlock is evaluated.
>>> -
>>> - EXAMPLE (Select next 6 lines and Do It)
>>> - 'Now here''s some Real Progress'
>>> -       displayProgressAt: Sensor cursorPoint
>>> -       from: 0 to: 10
>>> -       during: [:bar |
>>> -       1 to: 10 do: [:x | bar value: x.
>>> -                       (Delay forMilliseconds: 500) wait]].
>>> -
>>> - HOW IT WORKS (Try this in any other language :-)
>>> - Since your code (the last 2 lines in the above example) is in a block,
>>> - this method gets control to display its heading before, and clean up
>>> - the screen after, its execution.
>>> - The key, though, is that the block is supplied with an argument,
>>> - named 'bar' in the example, which will update the bar image every
>>> - it is sent the message value: x, where x is in the from:to: range.
>>> - "
>>> -       ^ProgressInitiationException
>>> -               display: self
>>> -               at: aPoint
>>> -               from: minVal
>>> -               to: maxVal
>>> -               during: workBlock!
>>>
>>>
>>>
>>
>>
>
>


More information about the Squeak-dev mailing list