[Packages] Split-Join in development universe etc

Keith Hodges keith_hodges at yahoo.co.uk
Tue Aug 7 17:11:59 UTC 2007


Jason Johnson wrote:
>  
>
>
>
>     Cool.  This is the double dispatch way that lets you do things
>     like:    #(252 211 203) joinWith: #(255 254) => #(252 255 254 211
>     255 254 203)
>     right?
>
yes thats the one.
>
>
>         I proposed enabling Universes to run arbitrary, or Installer
>         based
>         scripts, but this is considered somewhat cavalier. So
>         undaunted, and no
>         less barbaric I have used a PackageInfo-#preamble to load this
>         script!
>         This has the disadvantage of being hard to maintain and it is
>         working
>         invisible magic behind the scenes , whereas the script option
>         would have
>         been visible and manageable.
>
>
>
>     Why?  Why is a script needed to add the methods from your class?
>
Because those methods are in a change set with discussion etc. managed 
mantis. Loaded as per

Installer mantis ensureFix: 4874.

>
>         In spite of this I think that Monticello1.5 is nearly ready to
>         be used
>         in 3.10. I tried using the old one for a few hours and got very
>         frustrated with loosing class extensions.
>
>
>     Losing class extensions?  You mean star methods?
>
yes, there are two types of class extensions supported by monticello. 
'*' prefixed extensions and '*' prefixed and '-override' suffixed method 
categories.

Having monticello preserve the integrity of packages which either use 
these, or have these used on them is difficult, but I think it is possible.

When monticello is not reliably supporting these extensions I would have 
to have an image specifically for managing each package. I.e. to ensure 
that the package I was managing was not over-ridden, and all packages 
that it extends are currently loaded.

Now the monticello 1.5 ;-) orphanage keeps hold of methods and classes 
which extend packages not currently loaded, and loading an overridden 
method, loads the original, then the override, so that searching for the 
original on saving should work.

cheers

Keith



More information about the Squeak-dev mailing list