aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>2004-08-16 23:02:19 +0000
committerRichard M. Stallman <[email protected]>2004-08-16 23:02:19 +0000
commitdfe598b54e166b5fa9803a39ad8dfff538041899 (patch)
tree7f0cdaa228ff2e3f65357f2813cc3955d3b29143
parent7f916a363e63bdf1874c4f877ec33ec680b5c1b0 (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.c23
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;