"Wayne O. Cochran" <[EMAIL PROTECTED]> writes:

> Quoting "Pierre R. Mai" <[EMAIL PROTECTED]>:
>> When backspace echoes ^? (i.e. delete), setting the erase character to 
>> this should definitely work, i.e.:
>
> Excellent... setting erase to ^? -- a litteral '^' and '?'
> does the trick. What is the ^? character anyway?

^? is DEL in ASCII.  ^H is of course BS.  On a VT100 with local echo
on pressing ^H will simply move the cursor backwards.  It doesn't
delete anything by default.  Pressing ^? deletes the character that
the cursor currently sits on.  Note that neither by default would do
what you expect.

The reason that ^H doesn't delete by default is because that's the way
it works on teletypes.  You can't erase on a teletype, can you?  It's
hard to delete characters on paper.

When you stty erase ^H you're telling termios (the Unix terminal
handler) that you want ^H to both move backwards and erase.  It emits
the appropriate magic to your terminal that makes the terminal
actually erase as well as move the cursor to the left one char.

'james (who has done far more curses programming than he'd like)

-- 
James A. Crippen <james at unlambda.com> Lambda Unlimited
61.2204N, -149.8964W                     Recursion 'R' Us
Anchorage, Alaska, USA, Earth            Y = \f.(\x.f(xx))(\x.f(xx))

Reply via email to