2015-09-16 10:18 GMT+02:00 Skip Lentz <skip.le...@inria.fr>:

>
> > On Sep 15, 2015, at 4:40 PM, Thierry Goubier <thierry.goub...@gmail.com>
> wrote:
> >
> > Hi Martin, Skip,
> >
> > it makes sense, sort of.
> >
> > ClassReorganized could be handled already by just either discarding
> whatever cache you would have on the protocols of the class (for example,
> in a browser) or comparing the new class organisation with the old one.
>
> As far as I know, you can’t compare to the old class organization because
> it is already changed to the new one..
>

Yes but: the receiver of the announcement may have a copy of the old one.
For example, when AltBrowser receives that, it clears its current knowledge
of the class organisation and rebuilts it.


>
> > You may be pointing to, however, another issue: ClassReorganized not
> carrying enough information (i.e. not the old set of protocols).
>
> Yes… it only has the class which has been affected. No way to compare it.
>

This is it. But ClassReorganized can be used for reordering the protocols.


>
> > I'm not sure your ProtocolRenamed solves that.
>
> While it may not solve the problem of ClassReorganized lacking
> information, it does give extra information as to what happened. Right now
> you simply don’t know when a protocol was renamed.
>

Because, up to know, we managed by either: rebuilding what depends on the
organisation, or use it for something else.

For example, usually in Smalltalk, protocols are ordered and a user may
reorder them by hand -> ClassReorganized. Nautilus takes a different view
(order alphabetically, add a all protocol), hence Pharo protocols have
integrated the Nautilus viewpoint (the 'all' protocol), and AltBrowser
disregard this (the 'all' protocol and the ordering) because I prefer a
different way of ordering.


>
> > But it won't do much harm... Unless Nautilus overeacts and refresh
> itself 20 times, that it :)
>
> If Nautilus does not subscribe to ProtocolRenamed then nothing happens, no?
> I am willing to create an issue, propose a slice, etc.
>

One more thing. I hope that when renaming the protocol, the relevant
MethodRecategorized are sent, because many things depend on that one.

I need to check AltBrowser behavior on this one. Renaming a protocol is not
what I expected. It looks harmless, but it has important consequences if
the protocol is an extension or an override.


>
> Thanks for your reply :)
>
> PS: There’s something else related to System-Announcements, namely that
> when I rename a category I get no CategoryRenamed announcement.
> I will send an e-mail about that later.
>

Hum, SystemOrganizer>>#renameCategory:toBe: sends it (in Pharo4).

Thierry

Reply via email to