summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-09-07 01:46:44 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-09-07 01:46:44 -0700
commit1a4f1e9b4805cd80952946b5f4461eeb467d9509 (patch)
tree6f17957b784b3706a8bebe22c40475f5c8201af2
parentc640e87d077ae51c922b703f4b44f05dfb0d1cfd (diff)
downloademacs-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--ChangeLog5
-rw-r--r--configure.ac2
-rw-r--r--src/ChangeLog17
-rw-r--r--src/floatfns.c2
-rw-r--r--src/lisp.h2
-rw-r--r--src/syssignal.h5
-rw-r--r--src/systty.h5
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