Path: utzoo!attcan!uunet!mcvax!enea!zyx!arndt
From: arndt@zyx.SE (Arndt Jonasson)
Newsgroups: comp.unix.questions
Subject: Undefined erase/kill characters?
Message-ID: <2652@zyx.SE>
Date: 5 Jul 88 13:25:07 GMT
Reply-To: arndt@zyx.SE (Arndt Jonasson)
Organization: ZYX Sweden AB, Stockholm, Sweden
Lines: 24


The characters to use for erasing a single character and erasing an
entire line, commonly called 'erase' and 'kill' and readble/settable
by the 'stty' command, are stored in a character array pertaining to
the terminal driver, which is updated and read by the 'ioctl' requests
TCGETA/TCSETA/TCSETAF (in SysV) or TIOCGETP/TIOCSETN/TIOCSETP (in
BSD). My question is: can any character (from 0 to 255) be made to,
say, 'erase', or is there some value which indicates "undefined"?

I have looked in the Gnu Emacs source code and it uses the symbol CDEL
(which is #define'd to 0377 in  on my system) to mean
undefined.  In HP-UX, however, that value is treated as any other,
i.e. Delete with parity erases the last character.

What do Unix systems normally do? Is there a standard for this
(meaning common usage, rather than prescription)? Do the SVID/SVVS
bother to specify this?

A related question: what is supposed to happen when more than one
characters in this array are set to the same value? Which function
is used when the terminal driver sees the character?
-- 
Arndt Jonasson, ZYX Sweden AB, Styrmansgatan 6, 114 54 Stockholm, Sweden
email address:	 arndt@zyx.SE	or	!mcvax!enea!zyx!arndt