On Wed, Jun 10, 2015 at 11:29 AM, Max Leske <maxleske@gmail.com> wrote:

On 10 Jun 2015, at 17:13, Martin Dias <tinchodias@gmail.com> wrote:

Hi everybody,

<snip>��

The other thing would be to clean up the announcer situation��� Maybe the announcers should be hierarchical, not the announcements. Doru did a presentation at ESUG about an idea for a logging framework that uses announcements by using different announcers for different levels of interest (https://youtu.be/keqdqFu1ejk?t=10m55s). That way, if you���re interested in what MC does in the abyss of MC hell you can subscribe to the MCAbyssAnnouncer, if you want high level change events you subscribe to the MCInterestingChangeAnnouncer.

I'm not sure how the hierarchical announcers would help Ben's issue (as I see it).�� I would think the logging would like to know that an MC install is happening, and log the MC install (and parameters, probably - like what was decided on a MERGE), and then ignore all of the actual class/method/doit's that come out of that load.�� EXCEPT, of course, and Syntax fixes done by the users during that load - those would want to be caught as non-MC derived.�� And a nice playback would be constructed to automatically apply them next time. ��(Wish list....)

If you have two announcers, you'd need to detect the beginning of the MC install, and ignore the class/method announcements until you get the end of the MC install.�� And you'd have to make sure the MC install always signals an end - else you could ignore all manual changes afterwards.
And, if the user could be saving other code while the MC is loading, you'd loose those changes - since you are ignoring them.

That said, I'm unclear on how you'd signal the hiercarchical announcements that Ben mentions.�� Class/Method announcements not originated by MC would be base change announcements; those originated from MC would be the MCChange Announcement sub-classes + the MC generated announcement (started load, etc).

��Just thoughts.

-cbc
I hope you can make some use of my ramblings (last exam tomorrow, just taking a break here :) )

Cheers,
Max



Kind regards,
Mart��n