Subject: ksh and new-default vi-tabcompletion
To: None <current-users@netbsd.org>
From: Richard Rauch <rkr@olib.org>
List: current-users
Date: 12/23/2003 02:21:09
I recently stumbled across the new default for /bin/ksh, enabling
vi-tabcompletion.

I'm sure that adding this is seen to be a major advance, fixing much
angst for some.  However, since I personally like to be able to enter
the ASCII TAB character from time to time, and never want or use tab-
completion, I immediately sought to turn it off as soon as I discov-
ered that it was on.

"set +o vi-tabcompletion" seemed to be just what I wanted.  I added
it to my (NFS-shared) ~/.shrc that ksh and sh use for initialization.

Then I wanted to look up something else in the manual.  "man ..."
failed with this error:

  set: Illegal option -o vi-tabcomplete

...nevermind that I used "+o" not "-o".  The key thing is that "man"
no longer worked.  (Though the error message could stand to be fixed.)

Okay, that's not an sh option, perhaps.  But, interestingly, the 1.6
systems I have do *not* mind this "set +o vi-tabcompletion" when I
use "man".


I assume that in addition to making this the ksh default, someone
has modified /bin/sh to either be more picky, or perhaps even to
reject a formerly accepted command.  (I'm pretty sure that /bin/sh
does a vi edit mode, though I don't use /bin/sh much.)


Of course, this can all be worked around with a case statement
in .shrc.  But the whole affair seemed worth sharing, since not
only was the "set +o ..." not required in 1.6, but it also did not
cause any problems with "man" (nor, I assume, with anything else;
though I confess to not really testing it further).

Perhaps adjusting /bin/sh to accept this option (again?) would help
smooth the way for non-completion-using ksh users when they upgrade
to 2.0?  (All 2 or 3 of us?  *grin*)

Anyway, just a random bit of perspective.  Don't take any wooden bits.


-- 
  "I probably don't know what I'm talking about."  http://www.olib.org/~rkr/