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    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to