diff options
| author | Richard M. Stallman | 2004-08-16 23:02:19 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2004-08-16 23:02:19 +0000 |
| commit | dfe598b54e166b5fa9803a39ad8dfff538041899 (patch) | |
| tree | 7f0cdaa228ff2e3f65357f2813cc3955d3b29143 /src | |
| parent | 7f916a363e63bdf1874c4f877ec33ec680b5c1b0 (diff) | |
| download | emacs-dfe598b54e166b5fa9803a39ad8dfff538041899.tar.gz emacs-dfe598b54e166b5fa9803a39ad8dfff538041899.zip | |
(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.
Diffstat (limited to 'src')
| -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 d5236a3f88a..7ffb2bb7db5 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -610,6 +610,15 @@ child_setup_tty (out) | |||
| 610 | s.main.c_cflag = (s.main.c_cflag & ~CBAUD) | B9600; /* baud rate sanity */ | 610 | s.main.c_cflag = (s.main.c_cflag & ~CBAUD) | B9600; /* baud rate sanity */ |
| 611 | #endif /* HPUX */ | 611 | #endif /* HPUX */ |
| 612 | 612 | ||
| 613 | #ifdef SIGNALS_VIA_CHARACTERS | ||
| 614 | /* the QUIT and INTR character are used in process_send_signal | ||
| 615 | so set them here to something useful. */ | ||
| 616 | if (s.main.c_cc[VQUIT] == 0377) | ||
| 617 | s.main.c_cc[VQUIT] = '\\'&037; /* Control-\ */ | ||
| 618 | if (s.main.c_cc[VINTR] == 0377) | ||
| 619 | s.main.c_cc[VINTR] = 'C'&037; /* Control-C */ | ||
| 620 | #endif /* not SIGNALS_VIA_CHARACTERS */ | ||
| 621 | |||
| 613 | #ifdef AIX | 622 | #ifdef AIX |
| 614 | /* AIX enhanced edit loses NULs, so disable it */ | 623 | /* AIX enhanced edit loses NULs, so disable it */ |
| 615 | #ifndef IBMR2AIX | 624 | #ifndef IBMR2AIX |
| @@ -620,16 +629,10 @@ child_setup_tty (out) | |||
| 620 | don't ignore break, but don't signal either, so it looks like NUL. */ | 629 | don't ignore break, but don't signal either, so it looks like NUL. */ |
| 621 | s.main.c_iflag &= ~IGNBRK; | 630 | s.main.c_iflag &= ~IGNBRK; |
| 622 | s.main.c_iflag &= ~BRKINT; | 631 | s.main.c_iflag &= ~BRKINT; |
| 623 | /* QUIT and INTR work better as signals, so disable character forms */ | 632 | /* rms: Formerly it set s.main.c_cc[VINTR] to 0377 here |
| 624 | s.main.c_cc[VINTR] = 0377; | 633 | unconditionally. Then a SIGNALS_VIA_CHARACTERS conditional |
| 625 | #ifdef SIGNALS_VIA_CHARACTERS | 634 | would force it to 0377. That looks like duplicated code. */ |
| 626 | /* the QUIT and INTR character are used in process_send_signal | 635 | #ifndef SIGNALS_VIA_CHARACTERS |
| 627 | so set them here to something useful. */ | ||
| 628 | if (s.main.c_cc[VQUIT] == 0377) | ||
| 629 | s.main.c_cc[VQUIT] = '\\'&037; /* Control-\ */ | ||
| 630 | if (s.main.c_cc[VINTR] == 0377) | ||
| 631 | s.main.c_cc[VINTR] = 'C'&037; /* Control-C */ | ||
| 632 | #else /* no TIOCGPGRP or no TIOCGLTC or no TIOCGETC */ | ||
| 633 | /* QUIT and INTR work better as signals, so disable character forms */ | 636 | /* QUIT and INTR work better as signals, so disable character forms */ |
| 634 | s.main.c_cc[VQUIT] = 0377; | 637 | s.main.c_cc[VQUIT] = 0377; |
| 635 | s.main.c_cc[VINTR] = 0377; | 638 | s.main.c_cc[VINTR] = 0377; |