[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
|