On 8/4/14, 2:27 PM, Linda Walsh wrote:
>
>
> Chet Ramey wrote:
>>>
>>> Then go back -- the TAB key is unmapped as a completion char,
>>> but your old completion key is not remapped. So you end up with
>>> no completion keys. There are probably lots of other
>>> "one-way-adjustments",
>>> but I haven't hit them all.
>>
>> I'm going to guess that this is the same problem I discussed in
>>
>> http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00049.html
>>
>> but the description above pretty much makes a hash of it.
> ---
> So because I am using the POSIX default for tab to
> self insert, if I switch in+out of posix mode, you wipe
> my default?
Yes, that's essentially what happens in the current release. Bash sets
the binding for TAB in the vi insertion keymap to `self-insert' when
enabling posix mode and to `complete' when disabling it. There are a
couple of ways to handle the issue you've raised, but it has not surfaced
as a problem before, so it doesn't have a high priority in the work queue
right now.
> The double problem is that tab is no longer bound to anything
> when you leave posix -- you don't get your original completion
> char back, and TAB isn't activated as a new completion character,
> so completion gets disabled. Surely that can't be desirable?
> (i.e. despite how bash got there -- understandable, shouldn't
> it be fixed?)...
This just isn't true. TAB is bound to `complete' when you disable posix
mode with `set +o posix'. Since the only binding that gets changed when
enabling or disabling posix mode is the one for TAB, any other characters
you have bound to `complete' retain their bindings.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/