Java's modules rock? (was Re: election details *PLEASE READ*)
Bert Freudenberg
bert at freudenbergs.de
Tue Mar 13 10:42:31 UTC 2007
On Mar 13, 2007, at 10:27 , Andrew Tween wrote:
> For example, ShoutMonticello enables Shout in Monticello, and
> overrides
> MCTool>>textMorph: to force it to use MorphicTextEditor default ,
> rather than
> PluggableTextMorph.
>
> Similarly, ShoutOmniBrowser, overrides MCDefinitionPanel>>morph to
> force the use
> of MorphicTextEditor default, instead of OBPluggableTextMorph.
> [...]
> They are distributed as .mcz files, on SqueakMap and SqueakSource,
> mainly for
> convenience.
Indeed, "if you know what you are doing" this is one of the two ways
you can handle this at the moment. The advantage of using a package
that overrides something in another package is that the original
package does not get "dirty", it can still be updated, and you can
maintain the patch separately - but this is usually more than
outweighed by the horrible mess you get when the clever system fails,
which is more often the case than not.
The other way is to just save your own version of the original
package, and then remember to only ever "merge" upstream versions.
The problem with this is that it's hard to still produce a clean new
upstream version from your locally modified package - since MC is
snapshot-based it does not know which patches belong to your local
branch and should not be published.
> They could just as easily be some changesets, downloadable from a
> Wiki page, or whatever. In that case would they still be
> 'packages', or just
> 'patches'?
That would be the worst of both worlds - but surely works, you just
have to manually reapply the change after upgrading the package.
- Bert -
More information about the Squeak-dev
mailing list
|