Subject: Re: bug#8492: 23.3; Time to use a different binding for completion?

From: Deniz Dogan <[email-masked]>
Date: Wed, 20 Apr 2011 16:07:16 +0200

2011/4/20 Stefan Monnier <[email-masked]>:
>> This is the problem: unusable defaults. I'm asking if we can have a
>> usable default setting.
>
> Currently, the "usable default" is ESC TAB.
>
> It's a bit longwinded, so it'd be good to find a better solution.
> Since this problem has been around for a long time and no good key has
> popped up during this time, I believe that using TAB is the
> way forward, which means we need to figure out ways to make it work in
> the cases where it currently doesn't.
>
> Currently the way it works is "try to reindent, and if there was no
> change, try to complete".  As mentioned this doesn't work for Python and
> Haskell, so for those modes maybe completion should take precedence as
> in "see if we're somewhere where completion makes sense and if not try
> to reindent", so TAB would complete if point is in an identifier
> but not if it's a BOL.
>
> Not sure if it would work well in practice, but it might be worth trying
> it out.  There are other cases where TAB has trouble, e.g. in text modes
> where TAB doesn't reindent but jumps to the next tab position.
> I don't know how/if we can combine this TAB semantics with completion.
>

Surely there must be keys left that are not used for any particular
purpose in general.  E.g. C-. comes to mind (c.f. C-M-. for
find-tag-regexp), although I'm not sure how well that key is
recognized by terminals.

-- 
Deniz Dogan