Justin French wrote:
... but I think in practice, it will take a lot of thinking before a real solution is found... no quick patch here :)
Thinking about this more (I spoke too soon) ...
The most important thing has to be that the smart typing is *completely* predictable. In order to not get in the way, I think it's more important for smart typing to get in the way occasionally but predictably, than for it to get in the way sometimes and pleasantly surprise the user other times.
If you know that typing '(' always gets you a ')' then you can quickly learn to delete the ')' if you don't need it. However, if you have to stop to think what's going to happen, or worse still, predict wrong and end up deleting something you didn't want to, then the feature has failed.
So I guess I'm saying it's better that the feature is simple and reliable that too clever and difficult to predict.
drew.