Bug 994: Treat only termios.c_cc[VERASE] as "Backspace".
commit49ea10a74d426a4c7b4586fc8c27f34d2dc29743
authorKalle Olavi Niemitalo <kon@iki.fi>
Sun, 13 Jan 2008 21:49:31 +0000 (13 23:49 +0200)
committerKalle Olavi Niemitalo <Kalle@Astalo.kon.iki.fi>
Sat, 2 Feb 2008 11:19:55 +0000 (2 13:19 +0200)
tree5e0a2ed41977e6e78bc6431e00d3bfe929a70c70
parent1faf589e904f848f632edf1e75ed39ac068744d6
Bug 994: Treat only termios.c_cc[VERASE] as "Backspace".

When setting the tty device to raw mode, save the VERASE character.
Later, compare incoming bytes to that.

This is somewhat complicated because "stty verase undef"
sets termios.c_cc[VERASE] = _POSIX_VDISABLE, and e.g. Linux
defines _POSIX_VDISABLE as 0 but that must not cause ELinks
to treat incoming null bytes as backspaces.  Furthermore,
some systems may use different VDISABLE values for different
terminal devices, in which case _POSIX_VDISABLE is undefined
and ELinks must instead read the value from fpathconf().
NEWS
src/terminal/itrm.h
src/terminal/kbd.c