[squeak-dev] The Inbox: Kernel-cmm.831.mcz

Frank Shearar frank.shearar at gmail.com
Wed Jan 8 18:23:21 UTC 2014


On 8 January 2014 16:24,  <commits at source.squeak.org> wrote:
> A new version of Kernel was added to project The Inbox:
> http://source.squeak.org/inbox/Kernel-cmm.831.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-cmm.831
> Author: cmm
> Time: 8 January 2014, 10:24:39.553 am
> UUID: 7cc78def-6be9-4aec-b2f1-08d8f7e66910
> Ancestors: Kernel-fbs.829
>
> - Factor the actual removal of individual classes into primRemoveFromSystem: to make Frank happy.
> - SystemChangeNotifier, no more notifications for Obsolete classes please.
> - Because we're modifying a collection while enumerating it, enumerate a copy of it instead.
>
> =============== Diff against Kernel-fbs.829 ===============

That's pretty much the opposite of what I was saying.
#removeFromSystem: is something wired fairly deeply into the guts of
the system. But OK, try it out with unloading MC packages. Let's see
if it blows up. (I anticipate seeing a bunch of unexpected behaviour
resulting from MCClassDefinitions having their classes ripped out from
under them, and possibly weird behaviour from classes being #unload-ed
multiple times during the unload process.

Specifically, given

Object subclass: #Foo.
Foo subclass: #Bar.
Bar subclass: #Baz.

I expect to see Foo unloaded once, Bar unloaded twice, and Bax
unloaded three times. That does not seem right to me.

But I repeat: I think it's a great idea to have cmd-X say "yep, that
class is gone" and "oh hey, do you want to remove the class and all
these here subclasses?" (a bit like like removing a method does) in
the tools.

frank


More information about the Squeak-dev mailing list