Subject: Re: ksh bugs and behaviour questions
To: Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
From: Matthias Buelow <mkb@mukappabeta.de>
List: tech-userlevel
Date: 12/09/2002 21:22:03
Thomas Klausner wrote:

> . ctrl-l on empty line does not clear(1)
>   bash does this, and I prefer it to having to type 'clear' :)

Bear in mind that pdksh is a ksh clone, it doesn't attempt to imitate 
bash (I think it also precedes bash by a couple of years).  I actually 
prefer it that ^L doesn't clear the screen but simply reprints its 
current line (it's also more consistent to what you actually expect from 
that key sequence, compare to other terminal-oriented programs like vi 
(which redisplay their display on ^L.  Because ksh's "display" is just a 
single line, it redisplays it, albeit on a new line.)  So in a way, ^L 
is similar to the kernel's line discipline ^R (reprint) character.
If you were using the real KornShell (ksh93), you might be able to bind 
^L to execute clear(1) via keyboard traps.

> . completion does not work on incomplete variables ($HO<TAB>) or user names
>   (~wi<TAB>)

Ksh93 expands it that way you describe in vi-mode (with the ESC-\ 
completion key sequence); curiously it seems to do a different thing in 
emacs mode (with ESC-ESC, or TAB): there it replaces $VAR with its 
contents, if the variable is fully specified; it does not attempt to 
expand the variable name, like in vi-mode, though.

I recommend using the real ksh, if memory permits (it uses a lot more 
memory than pdksh), where the bugs don't exist, and some of the other 
things that ail you can be tweaked with a little programming (KEYBD 
traps etc.)

-- 
Matthias Buelow