> > Hi All,
> >
> >     I depend heavily on fileOutAll in method list browsers.  For example, I'm trying to create versions of the VM's boolean cheat code for the Sista bytecode set and do this by filing out the code for the Newspeak set and editing it.  I tried to do this using "self systemNavigation browseAllSelect: [:m| ('*ooleanCheat*V*' match: m selector) or: [m sendsSelector: #booleanCheatV4:]]" to get a method list browser.  Then I was expecting to be able to use file out with nothing in the list selected.  This files out all methods in the list but...
> >
> > Deselection is broken!  I can't deselect the first item and hence can only file out a single definition .  Will whoever changed this please restore it asap? (in trunk)
> >
> >
> > Hi again, hey, I just realized!  There is a way to deselect in the MessageTrace.  It's called "Invert Level Selection" and its on the "more" menu (Shift+yellow click).
> >
> > Hot key for it is Command+Shift+I (capital "eye").
> >
>
> Wasn't that ?DoIt and invoke the inspector? ?

No, that's only from a code pane.  We're talking about from the upper pane of a MessageTrace or MessageSet.

But now I see I misspoke -- because I had been experimenting with Eliots question from a MessageTrace with only one message it it.

This is something I've wnated fixed for a long time, I'll see if I can spend a little time wiht it today and solve it.

BTW, why is it intuitive at all that NO SELECTION means ALL SELECTION for filing out?  Talk about unintuitive -- THAT sounds like it would be a bug in itself but, whatever..

Nonsense ;-)  A selection in a list means one thing in the list.  What else can nothing in the list be interpreted as?

That's a logical choice for the browser that only supports 0-or-1 selection.  But the MessageTrace browser only currently supports 1-to-many selection, so to file them all out you would simply select them all.

In the latter case, What-Is-Selected = What-Is-Filed-Out, which is intuitive and consistent.  In the former case, the user has to make the translation that "Zero-Selection = All-Filed-Out" which puts the UI's behavior briefly into their cognitive view (a higher level than the intuitive level).  That's all I meant.
 
 It is either nothing selected or "the list".  Of course it's intuitive. If one says "file out" to a list of items it is natural for that command to apply to the whole list.  You're not seeing the trees for the forest.
 
 
To focus on Eliot's original question: The deselection mechanism works
in Squeak4.5-13352.image. It does not work in trunk now.

No, nothing has changed other than the traceMessages preference being set, which is way more important than occasionally filing out methods of a list.

It's not about what is more important.  It is about /not breaking things/.  

Eliot, I'm sorry to repeat myself but, _nothing has changed_.  Nothing is broken that wasn't "broken" before.

MessageSet is a 0-or-1 selection, period.  MessageTrace selection is 1-to-many and has been for many years.  You could very easily select them all and then file them out (and, I'm sorry I didn't mention that before!).  In spite of that easy work-around, I offered in my last note to spend time looking into it MessageTrace supporting 0-to-many selection.

And your value judgement that trace messages is way more important is just that, a value judgement.
 Trace messages drives me mad.  There is no back button.  If there was a back button then it could be helpful, but without a back button it is hugely irritating much of the time.  i.e. "I want a list of senders of foo; ok, got the list, now do a whole lot of reading based around that. Oh s**t, I juts drilled down and now my original list is nested and I've lost my context, and... there's no back button".

No browser in Squeak has a "back button."  Squeak's UI has always been that you can navigate FROM anywhere, TO anywhere, instantly, which is multifold more productive than breadcrumbs and modal browsing.  For the case above, your "back button" would be simply Command+d, or the up-arrow.  Did you even try that?

Makes me wonder if you've given MessageTrace a fair-shake..  :(

Chris, you can't just change the tools to suit your whim because you're release manager.  

4.5 had a very deliberately selected collection of productivity-improvements to the IDE by addressing long-standing issues that have plagued Smalltalk IDE's since the 1980's, like window-proliferation.  It's clear you prefer modal browsing, and possibly why you think they were "whimsical" changes.  They were not.

The tools need to improve without breaking old workflows.

I hope you now agree, no workflow was "broken".  You were just so accustomed to "Zero Selection = All Selection" that it didn't occur to us that "All selection = All selection".  :)

Dude, I'd like to work on the upgrades you suggested for the mc history.  Since it's clear you don't like MessageTrace anyway, you now have TWO workarounds, and since I assume you'll just change your preference setting, I'm gonna go back to working on those mc history improvements rather than fiddle with MessageTrace to make it 0-to-many...  Okay?
 

Deselecting with the Control key is broken in 4.5 and for a long time before that.  As I said, we should focus on letting that "isControlled" input var to MessageTrace>>#toggleSelectionAt:shifted:controlled: be able to come in as a "true" and then everything should just work...

I'll see if there's an easy fix.






--
best,
Eliot