If I am blindly typing (foo) I expect to end up with (foo)
In current Squeak I end up with (foo)) which is clearly wrong and extremely annoying and makes me hate the feature.
Okay, thanks for explaining that. Sure, that's how eclipse works too. I figured that's what you meant, but I wasn't sure because wailing about that is almost harder than simply fixing it. ;)
Try filing in the attached patch and see if it does what you want. It simply checks the next non-whitespace character in front of the cursor and if its the same closer that was typed, simply advances the cursor rather than type the closing character.
... snip ... which is so obviously right I'm not even sure how anyone could argue Squeak's is not horribly broken.
Eliot wrote:
+1. Hate is not too strong a word. Horribly broken is accurate.
Guys, I thought *I* was the emotional one. If you reserve such strong words for things this small then you won't be able to differentiate from the bigger things. I've been learning that such words are not always the most productive way to criticize and can can make others feel bad.. Lighten up people! :)
Given that Smalltalk has had control-enclose for decades that is useful and predictable we don't need something poorly engineered. Can we either get it right or get rid of it, please?
There is no chance this feature will be removed because it is one of several necessary components that make up a fantastic suite of expression-editing functions. Some people operate by "editing text" and others by "editing expressions". This feature is an absolutely essential component of a group of functions for the latter; along with Control+enclose, Expression-selection (via Command+[space]), and Paren-Blinking. I've put quite a bit of thought into this..
Please check out the attached improvement, and I hope you can switch your hate to love... :)
So, as others have pointed out, it's not that we don't want the editor to be helpful, it is a very useful feature, but it must be mindful of what the user wants.
- Bert -