diff options
| author | Richard M. Stallman | 1994-12-04 17:06:56 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-12-04 17:06:56 +0000 |
| commit | 441f6399d885deb5acb8d37f1aac306ebef0c50a (patch) | |
| tree | 781be4bb9fae251f05c9c22299376987332f08a7 /src | |
| parent | 39b3b754b579f1e18510a78bc6271779a5fc17bd (diff) | |
| download | emacs-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.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) | |||
| 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 |