aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1994-12-04 17:06:56 +0000
committerRichard M. Stallman1994-12-04 17:06:56 +0000
commit441f6399d885deb5acb8d37f1aac306ebef0c50a (patch)
tree781be4bb9fae251f05c9c22299376987332f08a7 /src
parent39b3b754b579f1e18510a78bc6271779a5fc17bd (diff)
downloademacs-441f6399d885deb5acb8d37f1aac306ebef0c50a.tar.gz
emacs-441f6399d885deb5acb8d37f1aac306ebef0c50a.zip
(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.c18
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)
524 524
525 s.main.c_lflag |= ICANON; /* Enable erase/kill and eof processing */ 525 s.main.c_lflag |= ICANON; /* Enable erase/kill and eof processing */
526 s.main.c_cc[VEOF] = 04; /* insure that EOF is Control-D */ 526 s.main.c_cc[VEOF] = 04; /* insure that EOF is Control-D */
527 s.main.c_cc[VERASE] = 0377; /* disable erase processing */ 527 s.main.c_cc[VERASE] = CDISABLE; /* disable erase processing */
528 s.main.c_cc[VKILL] = 0377; /* disable kill processing */ 528 s.main.c_cc[VKILL] = CDISABLE; /* disable kill processing */
529 529
530#ifdef HPUX 530#ifdef HPUX
531 s.main.c_cflag = (s.main.c_cflag & ~CBAUD) | B9600; /* baud rate sanity */ 531 s.main.c_cflag = (s.main.c_cflag & ~CBAUD) | B9600; /* baud rate sanity */
@@ -1290,9 +1290,14 @@ init_sys_modes ()
1290 tty.main.c_cc[VSTOP] = CDISABLE; 1290 tty.main.c_cc[VSTOP] = CDISABLE;
1291#endif /* VSTOP */ 1291#endif /* VSTOP */
1292#endif /* mips or HAVE_TCATTR */ 1292#endif /* mips or HAVE_TCATTR */
1293#ifdef SET_LINE_DISCIPLINE
1294 /* Need to explicitely request TERMIODISC line discipline or
1295 Ultrix's termios does not work correctly. */
1296 tty.main.c_line = SET_LINE_DISCIPLINE;
1297#endif
1293#ifdef AIX 1298#ifdef AIX
1294#ifndef IBMR2AIX 1299#ifndef IBMR2AIX
1295 /* AIX enhanced edit loses NULs, so disable it */ 1300 /* AIX enhanced edit loses NULs, so disable it. */
1296 tty.main.c_line = 0; 1301 tty.main.c_line = 0;
1297 tty.main.c_iflag &= ~ASCEDIT; 1302 tty.main.c_iflag &= ~ASCEDIT;
1298#else 1303#else
@@ -1643,6 +1648,13 @@ reset_sys_modes ()
1643 dos_ttcooked (); 1648 dos_ttcooked ();
1644#endif 1649#endif
1645 1650
1651#ifdef SET_LINE_DISCIPLINE
1652 /* Ultrix's termios *ignores* any line discipline except TERMIODISC.
1653 A different old line discipline is therefore not restored, yet.
1654 Restore the old line discipline by hand. */
1655 ioctl (0, TIOCSETD, &old_tty.main.c_line);
1656#endif
1657
1646#ifdef AIXHFT 1658#ifdef AIXHFT
1647 hft_reset (); 1659 hft_reset ();
1648#endif 1660#endif