diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-12-04 17:06:56 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-12-04 17:06:56 +0000 |
commit | e6d134dcabcbb47a2878a4c3f51ed1c24ae95dec (patch) | |
tree | 8636d863957cd38e2d441a30da9daba164c7e9d3 /src | |
parent | 3b5f76356aa7258ebdee6824573aa2f5692798a9 (diff) | |
download | emacs-e6d134dcabcbb47a2878a4c3f51ed1c24ae95dec.tar.gz |
(child_setup_tty): Use CDISABLE for setting VERASE, VKILL.
(init_sys_modes) [SET_LINE_DISCIPLINE]: Set specified line discipline.
(reset_sys_modes) [SET_LINE_DISCIPLINE]: Restore old line discipline.
Diffstat (limited to 'src')
-rw-r--r-- | src/sysdep.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/sysdep.c b/src/sysdep.c index 1bd221c1ba8..7c8a072eb90 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -524,8 +524,8 @@ child_setup_tty (out) s.main.c_lflag |= ICANON; /* Enable erase/kill and eof processing */ s.main.c_cc[VEOF] = 04; /* insure that EOF is Control-D */ - s.main.c_cc[VERASE] = 0377; /* disable erase processing */ - s.main.c_cc[VKILL] = 0377; /* disable kill processing */ + s.main.c_cc[VERASE] = CDISABLE; /* disable erase processing */ + s.main.c_cc[VKILL] = CDISABLE; /* disable kill processing */ #ifdef HPUX s.main.c_cflag = (s.main.c_cflag & ~CBAUD) | B9600; /* baud rate sanity */ @@ -1290,9 +1290,14 @@ init_sys_modes () tty.main.c_cc[VSTOP] = CDISABLE; #endif /* VSTOP */ #endif /* mips or HAVE_TCATTR */ +#ifdef SET_LINE_DISCIPLINE + /* Need to explicitely request TERMIODISC line discipline or + Ultrix's termios does not work correctly. */ + tty.main.c_line = SET_LINE_DISCIPLINE; +#endif #ifdef AIX #ifndef IBMR2AIX - /* AIX enhanced edit loses NULs, so disable it */ + /* AIX enhanced edit loses NULs, so disable it. */ tty.main.c_line = 0; tty.main.c_iflag &= ~ASCEDIT; #else @@ -1643,6 +1648,13 @@ reset_sys_modes () dos_ttcooked (); #endif +#ifdef SET_LINE_DISCIPLINE + /* Ultrix's termios *ignores* any line discipline except TERMIODISC. + A different old line discipline is therefore not restored, yet. + Restore the old line discipline by hand. */ + ioctl (0, TIOCSETD, &old_tty.main.c_line); +#endif + #ifdef AIXHFT hft_reset (); #endif |