[squeak-dev] Re: Unloading packages with Environments (was Re: Re: Towards SqueakCore)

Frank Shearar frank.shearar at gmail.com
Mon Apr 1 21:59:21 UTC 2013


On 1 April 2013 22:46, Yanni Chiu <yanni at rogers.com> wrote:
> On 01/04/13 5:07 PM, Frank Shearar wrote:
>>
>>
>> Right. That tells me there's an Alias still pointing to the XMLWriter
>> class.
>
>
> It could be as simple as (made up code below):
>
> PerfMeasure>>xmlWriterClass
>     ^ XMLWriter
>
> Just re-compiling would fix the obsolete reference, or code like:
>     ^ Smalltalk at: #XMLWriter
> would fix it.
>
>> So my half-baked theory is that something's missing in the
>>
>> Environment work and how it integrates with Monticello?
>
>
> I doubt it's the direct responsibility of either (Environment or
> Monticello), but maybe a nice solution could be facilitated by Environment
> and used by Monticello. It could be a lot of work since Monticello is
> cross-platform (however only the format has to be compatible, while platform
> implementations could differ).


It's definitely the responsibility of an Environment to remove a
class: remember that Environments replaces the Smalltalk singleton
with something inherently nestable.

At any rate, I don't see anything wrong with the Monticello stuff: it
essentially says "here, take this empty snapshot and apply it to the
working copy of the package". That generates a Foo-unload package
which is then loaded, stripping out the package.

But I _do_ expect that if I say "unload this package" that there
should _not_ be bindings in the Environment hanging onto the obsolete
class.

frank


More information about the Squeak-dev mailing list