Automatic selection of '--all--'

Andreas Raab andreas.raab at gmx.de
Wed Dec 18 21:25:56 UTC 2002


Dean and all,

There's no reason to flame nor to blame here. This entire thread has
been taken out of context of other messages. So let's try to summarize:
There is an apparent problem at this point if you try to add class
variables. This is because there is a pattern match in the browser
trying to recognize the '*subclass:' for class definitions if the '--
all --' category is selected. The proposal has been made to change the
pattern match that it "better recognizes" any attempt to define a class
when you hit accept while '-- all --' is selected. 

Looking at the code it appeared to me that all of this is due to the
fact that if the '-- all --' category is selected we may or may not try
to define a class or a message. Since a category is selected you may
expect to define a message. But since the '-- all --' category shows the
class definition when selected it is equally reasonable trying to define
a class rather than a message. That's the heart of the problem.

My proposal was basically recognizing the fact that if a category is
selected you should expect to edit a method and not a class definition.
There is nothing wrong with the '-- all --' category itself. What is
wrong is the inability to distinguish between "class definition mode"
and "method definition mode" when '-- all --' is selected. One way of
solving this problem would be show all of the selectors even if no
category is selected. This preserves the intent of automatically
selecting the '-- all --' category (namely to give an overview of the
entire protocol of some class) without getting into the trouble of
trying to do magic pattern matches if it is selected. In which case it'd
be very simple: You select a method category, you edit a method. You
have no category selected, you edit the class definition.

That's really all there is to it.

Cheers,
  - Andreas


> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org 
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On 
> Behalf Of Swan, Dean
> Sent: Wednesday, December 18, 2002 10:07 PM
> To: 'squeak-dev at lists.squeakfoundation.org'
> Subject: RE: Automatic selection of '--all--'
> 
> 
> Guys,
> 
> 	I don't know if this thread was instigated by my post 
> of 25 November, and I haven't really had the time to spend on 
> this as I intend, *BUT* the browser *IS* currently broken.  
> With the '--all--' category selected, and typing a new method 
> into the edit pane, 'accept' should *NOT* give the weird 
> error messages that it is giving.  They offer no clue, 
> whatsoever as to what the *real* problem is.
> 
> 	The browser used to create the 'as yet unclassified' 
> category and add the new method.  This is the behavior that 
> would reasonably be expected, as opposed to 'Nothing More 
> Expected', or 'Unknown Variable', which is what it gives now 
> depending on whether the new method has parameters or not.
> 
> 	It would be great if Chris could fix the bug, since 
> he's far more familiar with the code, but if somebody else 
> doesn't fix it, I will.  The current state of affairs not 
> only FORCES one to use method categories, it gives 
> misleading, confusing, and JUST PLAIN WRONG error messages 
> that give no hint as to what the real problem is.
> 
> 	Sorry for flaming here, but breaking something like 
> this that used to work should just be embarrassing.  The 
> automatic selection of '--all--' is nice, but the behavior 
> prior to this "enhancement" did not give useless error 
> messages if you tried to add a new method when the '--all--' 
> category is selected.  There is nothing about the '--all--' 
> category that ever made me think I should not be able to add 
> a new method to it.
> 
> 					-Dean Swan
> 
> 
> > -----Original Message-----
> > From: Norton, Chris [mailto:chrisn at Kronos.com]
> > Sent: Wednesday, December 18, 2002 3:17 PM
> > To: 'squeak-dev at lists.squeakfoundation.org'
> > Subject: RE: Automatic selection of '--all--'
> > 
> > 
> > Since Carl & I implemented the '--all--' feature, I'm 
> invested in this
> > discussion; sorry I missed out on the earlier thread.
> > 
> > The intention of the '--all--' feature is clear, I think.  
> > Prior to the
> > feature, the browsers were very unfriendly, in that you had 
> > to hunt & peck
> > through each method category to find a method.  
> > 
> > The intentional implementation of this feature is that when 
> > you click on a
> > class, the '--all--' category will be selected by default, 
> > offering you a
> > quick look at a pane-full of the available protocol.  At least one
> > commercial Smalltalk works this way (Visual Smalltalk Enterprise).
> > 
> > The original design of the '--all--' feature also provided 
> for adding
> > methods while the '--all--' is selected.  The new method 
> > should go into the
> > 'as yet unclassified' category, which should be dynamically 
> > generated if it
> > does not already exist.
> > 
> > I was not aware that this feature was broken.  I guess I 
> > normally create or
> > select categories prior to creating new methods.
> > 
> > In my opinion, we should just fix the bug(s) so that the 
> > feature works as I
> > originally designed it to work.
> > 
> > Cheers,
> > 
> > ---==> Chris
> > 
> 
> 




More information about the Squeak-dev mailing list