aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert2012-09-12 19:21:28 -0700
committerPaul Eggert2012-09-12 19:21:28 -0700
commit4a4bbad21472cc0ede4691cbdbf8117b655b574f (patch)
tree5c74092d854ca8b770578b8b7f99f5f3a9e65ca2 /src/ChangeLog
parentbd8d610845a89c2cf5d7d75ff552df572b30f5e7 (diff)
downloademacs-4a4bbad21472cc0ede4691cbdbf8117b655b574f.tar.gz
emacs-4a4bbad21472cc0ede4691cbdbf8117b655b574f.zip
Simplify SIGIO usage.
The code that dealt with SIGIO was crufty and confusing, e.g., it played tricks like "#undef SIGIO" but these tricks were not used consistently. Simplify mostly by not #undeffing standard symbols, e.g., use "defined USABLE_SIGIO" (our symbol, which we can define or not as we please) rather than "defined SIGIO" (standard symbol that we probably shouldn't #undef). * configure.ac (NO_TERMIO, BROKEN_FIONREAD, BROKEN_SIGAIO) (BROKEN_SIGPOLL, BROKEN_SIGPTY): Remove. (USABLE_FIONREAD, USABLE_SIGIO): New symbols. All uses of 'defined SIGIO' replaced with 'defined USABLE_SIGIO', with no need to #undef SIGIO now (which was error-prone). Likewise, all uses of 'defined FIONREAD' replaced with 'defined USABLE_FIONREAD'. * src/admin/CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL) (BROKEN_SIGPTY, NO_TERMIO): Remove. * src/conf_post.h [USG5_4]: Do not include <sys/wait.h> here. Modules that need it can include it. [USG5_4 && emacs]: Likewise, do not include the streams stuff here. * src/dispextern.h (ignore_sigio): New decl. * src/emacs.c (shut_down_emacs): Invoke unrequest_sigio unconditionally, since it's now a no-op if !USABLE_SIGIO. * src/emacs.c (shut_down_emacs): * src/keyboard.c (kbd_buffer_store_event_hold): Use ignore_sigio rather than invoking 'signal' directly. * src/keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>, for FIONREAD. (FIONREAD, SIGIO): Do not #undef. (tty_read_avail_input): Use #error rather than a syntax error. * src/process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>, for I_PIPE, used by SETUP_SLAVE_PTY. (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD. * src/sysdep.c (croak): Remove; no longer needed. This bit of temporary code, with Fred N. Fish's comment that it's temporary, has been in Emacs since at least 1992! (init_sigio, reset_sigio, request_sigio, unrequest_sigio): Arrange for them to be no-ops in all cases when ! USABLE_SIGIO. * src/syssignal.h (croak): Remove decl. (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile. * src/systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed now that we're termios-only. (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef. * src/term.c (dissociate_if_controlling_tty): Use #error rather than a run-time error. Fixes: debbugs:12408
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 29e8ea4232e..c8588b973f8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,41 @@
12012-09-13 Paul Eggert <eggert@cs.ucla.edu> 12012-09-13 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Simplify SIGIO usage (Bug#12408).
4 The code that dealt with SIGIO was crufty and confusing, e.g., it
5 played tricks like "#undef SIGIO" but these tricks were not used
6 consistently. Simplify mostly by not #undeffing standard symbols,
7 e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
8 or not as we please) rather than "defined SIGIO" (standard symbol
9 that we probably shouldn't #undef).
10 * conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
11 Modules that need it can include it.
12 [USG5_4 && emacs]: Likewise, do not include the streams stuff here.
13 * dispextern.h (ignore_sigio): New decl.
14 * emacs.c (shut_down_emacs): Invoke unrequest_sigio
15 unconditionally, since it's now a no-op if !USABLE_SIGIO.
16 * emacs.c (shut_down_emacs):
17 * keyboard.c (kbd_buffer_store_event_hold):
18 Use ignore_sigio rather than invoking 'signal' directly.
19 * keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
20 for FIONREAD.
21 (FIONREAD, SIGIO): Do not #undef.
22 (tty_read_avail_input): Use #error rather than a syntax error.
23 * process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
24 for I_PIPE, used by SETUP_SLAVE_PTY.
25 (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
26 * sysdep.c (croak): Remove; no longer needed. This bit of
27 temporary code, with Fred N. Fish's comment that it's temporary,
28 has been in Emacs since at least 1992!
29 (init_sigio, reset_sigio, request_sigio, unrequest_sigio):
30 Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
31 * syssignal.h (croak): Remove decl.
32 (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
33 * systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
34 now that we're termios-only.
35 (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
36 * term.c (dissociate_if_controlling_tty): Use #error rather than
37 a run-time error.
38
3 Work around GCC and GNOME bugs when --enable-gcc-warnings. 39 Work around GCC and GNOME bugs when --enable-gcc-warnings.
4 * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify', 40 * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify',
5 to work around GNOME bug 683906. 41 to work around GNOME bug 683906.