diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2012-09-07 01:46:44 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-09-07 01:46:44 -0700 |
commit | 1a4f1e9b4805cd80952946b5f4461eeb467d9509 (patch) | |
tree | 6f17957b784b3706a8bebe22c40475f5c8201af2 | |
parent | c640e87d077ae51c922b703f4b44f05dfb0d1cfd (diff) | |
download | emacs-1a4f1e9b4805cd80952946b5f4461eeb467d9509.tar.gz emacs-1a4f1e9b4805cd80952946b5f4461eeb467d9509.tar.bz2 emacs-1a4f1e9b4805cd80952946b5f4461eeb467d9509.zip |
More signal-handler cleanup.
* configure.ac (FLOAT_CHECK_DOMAIN): Comment fix (Bug#12327).
* src/floatfns.c: Comment fix.
* src/lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER.
SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right,
and anyway the declaration is harmless even if SIGDANGER is not defined.
* src/syssignal.h (SIGIO): Also #undef if (! defined FIONREAD ||
defined BROKEN_FIONREAD). systty.h formerly did this, but other
source files not surprisingly expected syssignal.h to define, or
not define, SIGIO, and it's cleaner to do it that way, for consistency.
Include <sys/ioctl.h>, for FIONREAD.
* src/systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job.
This eliminates a problem whereby other files mysteriously had
to include "syssignal.h" before including "systty.h" if they
wanted to use "#ifdef SIGIO".
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/ChangeLog | 17 | ||||
-rw-r--r-- | src/floatfns.c | 2 | ||||
-rw-r--r-- | src/lisp.h | 2 | ||||
-rw-r--r-- | src/syssignal.h | 5 | ||||
-rw-r--r-- | src/systty.h | 5 |
7 files changed, 28 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog index 112532e7ece..e20edc893e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-09-07 Paul Eggert <eggert@cs.ucla.edu> + + More signal-handler cleanup (Bug#12327). + * configure.ac (FLOAT_CHECK_DOMAIN): Comment fix (Bug#12327). + 2012-09-06 Paul Eggert <eggert@cs.ucla.edu> Signal-handler cleanup (Bug#12327). diff --git a/configure.ac b/configure.ac index dd5e322194a..5fecea724dc 100644 --- a/configure.ac +++ b/configure.ac @@ -3212,7 +3212,7 @@ AC_DEFINE(CLASH_DETECTION, 1, [Define if you want lock files to be written, someone else has modified in his/her Emacs.]) AH_TEMPLATE(FLOAT_CHECK_DOMAIN, [Define if the float library doesn't - handle errors by either setting errno, or signaling SIGFPE/SIGILL.]) + handle errors by either setting errno, or signaling SIGFPE.]) AH_TEMPLATE(HAVE_INVERSE_HYPERBOLIC, [Define if you have the functions acosh, asinh, and atanh.]) diff --git a/src/ChangeLog b/src/ChangeLog index 068584969f7..8cab03fca50 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,20 @@ +2012-09-07 Paul Eggert <eggert@cs.ucla.edu> + + More signal-handler cleanup (Bug#12327). + * floatfns.c: Comment fix. + * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER. + SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right, + and anyway the declaration is harmless even if SIGDANGER is not defined. + * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD || + defined BROKEN_FIONREAD). systty.h formerly did this, but other + source files not surprisingly expected syssignal.h to define, or + not define, SIGIO, and it's cleaner to do it that way, for consistency. + Include <sys/ioctl.h>, for FIONREAD. + * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job. + This eliminates a problem whereby other files mysteriously had + to include "syssignal.h" before including "systty.h" if they + wanted to use "#ifdef SIGIO". + 2012-09-07 Eli Zaretskii <eliz@gnu.org> * w32proc.c (sigaction): New function, emulates Posix 'sigaction'. diff --git a/src/floatfns.c b/src/floatfns.c index e956dc22353..3a95d828c0c 100644 --- a/src/floatfns.c +++ b/src/floatfns.c @@ -38,7 +38,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ This has no effect if HAVE_MATHERR is defined. Define FLOAT_CHECK_DOMAIN if the float library doesn't handle errors by - either setting errno, or signaling SIGFPE/SIGILL. Otherwise, domain and + either setting errno, or signaling SIGFPE. Otherwise, domain and range checking will happen before calling the float routines. This has no effect if HAVE_MATHERR is defined (since matherr will be called when a domain error occurs.) diff --git a/src/lisp.h b/src/lisp.h index 28e8c1cd1e8..e6594b5890c 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -3221,9 +3221,7 @@ extern void cmd_error_internal (Lisp_Object, const char *); extern Lisp_Object command_loop_1 (void); extern Lisp_Object recursive_edit_1 (void); extern void record_auto_save (void); -#ifdef SIGDANGER extern void force_auto_save_soon (void); -#endif extern void init_keyboard (void); extern void syms_of_keyboard (void); extern void keys_of_keyboard (void); diff --git a/src/syssignal.h b/src/syssignal.h index fe7b5f0e150..c5529ae718a 100644 --- a/src/syssignal.h +++ b/src/syssignal.h @@ -38,9 +38,12 @@ extern void emacs_sigaction_init (struct sigaction *, signal_handler_t); _Noreturn void croak (char *); #endif -#if defined (SIGIO) && defined (BROKEN_SIGIO) +/* Interrupt input is not used if there is no FIONREAD. */ +#include <sys/ioctl.h> +#if defined BROKEN_SIGIO || ! defined FIONREAD || defined BROKEN_FIONREAD # undef SIGIO #endif + /* These are only used by AIX */ #if defined (SIGPOLL) && defined (BROKEN_SIGPOLL) #undef SIGPOLL diff --git a/src/systty.h b/src/systty.h index ae98f123f2a..b660441a91e 100644 --- a/src/systty.h +++ b/src/systty.h @@ -47,11 +47,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #undef ASYNC #endif -/* Interrupt input is not used if there is no FIONREAD. */ -#ifndef FIONREAD -#undef SIGIO -#endif - /* Try to establish the correct character to disable terminal functions in a system-independent manner. Note that USG (at least) define |