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/