diff options
author | Richard M. Stallman <[email protected]> | 2004-08-16 23:02:19 +0000 |
---|---|---|
committer | Richard M. Stallman <[email protected]> | 2004-08-16 23:02:19 +0000 |
commit | dfe598b54e166b5fa9803a39ad8dfff538041899 (patch) | |
tree | 7f0cdaa228ff2e3f65357f2813cc3955d3b29143 | |
parent | 7f916a363e63bdf1874c4f877ec33ec680b5c1b0 (diff) |
(child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
Set VQUIT and VINTR chars to the standard ones if they are unset.
[AIX]: Don't do that here. And don't force VINTR to standard
when SIGNALS_VIA_CHARACTERS.
-rw-r--r-- | src/sysdep.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/sysdep.c b/src/sysdep.c index d5236a3f88..7ffb2bb7db 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -610,6 +610,15 @@ child_setup_tty (out) s.main.c_cflag = (s.main.c_cflag & ~CBAUD) | B9600; /* baud rate sanity */ #endif /* HPUX */ +#ifdef SIGNALS_VIA_CHARACTERS + /* the QUIT and INTR character are used in process_send_signal + so set them here to something useful. */ + if (s.main.c_cc[VQUIT] == 0377) + s.main.c_cc[VQUIT] = '\\'&037; /* Control-\ */ + if (s.main.c_cc[VINTR] == 0377) + s.main.c_cc[VINTR] = 'C'&037; /* Control-C */ +#endif /* not SIGNALS_VIA_CHARACTERS */ + #ifdef AIX /* AIX enhanced edit loses NULs, so disable it */ #ifndef IBMR2AIX @@ -620,16 +629,10 @@ child_setup_tty (out) don't ignore break, but don't signal either, so it looks like NUL. */ s.main.c_iflag &= ~IGNBRK; s.main.c_iflag &= ~BRKINT; - /* QUIT and INTR work better as signals, so disable character forms */ - s.main.c_cc[VINTR] = 0377; -#ifdef SIGNALS_VIA_CHARACTERS - /* the QUIT and INTR character are used in process_send_signal - so set them here to something useful. */ - if (s.main.c_cc[VQUIT] == 0377) - s.main.c_cc[VQUIT] = '\\'&037; /* Control-\ */ - if (s.main.c_cc[VINTR] == 0377) - s.main.c_cc[VINTR] = 'C'&037; /* Control-C */ -#else /* no TIOCGPGRP or no TIOCGLTC or no TIOCGETC */ + /* rms: Formerly it set s.main.c_cc[VINTR] to 0377 here + unconditionally. Then a SIGNALS_VIA_CHARACTERS conditional + would force it to 0377. That looks like duplicated code. */ +#ifndef SIGNALS_VIA_CHARACTERS /* QUIT and INTR work better as signals, so disable character forms */ s.main.c_cc[VQUIT] = 0377; s.main.c_cc[VINTR] = 0377; |