diff options
| author | Paul Eggert | 2012-09-07 01:46:44 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-09-07 01:46:44 -0700 |
| commit | 1a4f1e9b4805cd80952946b5f4461eeb467d9509 (patch) | |
| tree | 6f17957b784b3706a8bebe22c40475f5c8201af2 /src | |
| parent | c640e87d077ae51c922b703f4b44f05dfb0d1cfd (diff) | |
| download | emacs-1a4f1e9b4805cd80952946b5f4461eeb467d9509.tar.gz 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".
Diffstat (limited to 'src')
| -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 |
5 files changed, 22 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 068584969f7..8cab03fca50 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2012-09-07 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | More signal-handler cleanup (Bug#12327). | ||
| 4 | * floatfns.c: Comment fix. | ||
| 5 | * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER. | ||
| 6 | SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right, | ||
| 7 | and anyway the declaration is harmless even if SIGDANGER is not defined. | ||
| 8 | * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD || | ||
| 9 | defined BROKEN_FIONREAD). systty.h formerly did this, but other | ||
| 10 | source files not surprisingly expected syssignal.h to define, or | ||
| 11 | not define, SIGIO, and it's cleaner to do it that way, for consistency. | ||
| 12 | Include <sys/ioctl.h>, for FIONREAD. | ||
| 13 | * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job. | ||
| 14 | This eliminates a problem whereby other files mysteriously had | ||
| 15 | to include "syssignal.h" before including "systty.h" if they | ||
| 16 | wanted to use "#ifdef SIGIO". | ||
| 17 | |||
| 1 | 2012-09-07 Eli Zaretskii <eliz@gnu.org> | 18 | 2012-09-07 Eli Zaretskii <eliz@gnu.org> |
| 2 | 19 | ||
| 3 | * w32proc.c (sigaction): New function, emulates Posix 'sigaction'. | 20 | * 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/>. */ | |||
| 38 | This has no effect if HAVE_MATHERR is defined. | 38 | This has no effect if HAVE_MATHERR is defined. |
| 39 | 39 | ||
| 40 | Define FLOAT_CHECK_DOMAIN if the float library doesn't handle errors by | 40 | Define FLOAT_CHECK_DOMAIN if the float library doesn't handle errors by |
| 41 | either setting errno, or signaling SIGFPE/SIGILL. Otherwise, domain and | 41 | either setting errno, or signaling SIGFPE. Otherwise, domain and |
| 42 | range checking will happen before calling the float routines. This has | 42 | range checking will happen before calling the float routines. This has |
| 43 | no effect if HAVE_MATHERR is defined (since matherr will be called when | 43 | no effect if HAVE_MATHERR is defined (since matherr will be called when |
| 44 | a domain error occurs.) | 44 | 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 *); | |||
| 3221 | extern Lisp_Object command_loop_1 (void); | 3221 | extern Lisp_Object command_loop_1 (void); |
| 3222 | extern Lisp_Object recursive_edit_1 (void); | 3222 | extern Lisp_Object recursive_edit_1 (void); |
| 3223 | extern void record_auto_save (void); | 3223 | extern void record_auto_save (void); |
| 3224 | #ifdef SIGDANGER | ||
| 3225 | extern void force_auto_save_soon (void); | 3224 | extern void force_auto_save_soon (void); |
| 3226 | #endif | ||
| 3227 | extern void init_keyboard (void); | 3225 | extern void init_keyboard (void); |
| 3228 | extern void syms_of_keyboard (void); | 3226 | extern void syms_of_keyboard (void); |
| 3229 | extern void keys_of_keyboard (void); | 3227 | 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); | |||
| 38 | _Noreturn void croak (char *); | 38 | _Noreturn void croak (char *); |
| 39 | #endif | 39 | #endif |
| 40 | 40 | ||
| 41 | #if defined (SIGIO) && defined (BROKEN_SIGIO) | 41 | /* Interrupt input is not used if there is no FIONREAD. */ |
| 42 | #include <sys/ioctl.h> | ||
| 43 | #if defined BROKEN_SIGIO || ! defined FIONREAD || defined BROKEN_FIONREAD | ||
| 42 | # undef SIGIO | 44 | # undef SIGIO |
| 43 | #endif | 45 | #endif |
| 46 | |||
| 44 | /* These are only used by AIX */ | 47 | /* These are only used by AIX */ |
| 45 | #if defined (SIGPOLL) && defined (BROKEN_SIGPOLL) | 48 | #if defined (SIGPOLL) && defined (BROKEN_SIGPOLL) |
| 46 | #undef SIGPOLL | 49 | #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/>. */ | |||
| 47 | #undef ASYNC | 47 | #undef ASYNC |
| 48 | #endif | 48 | #endif |
| 49 | 49 | ||
| 50 | /* Interrupt input is not used if there is no FIONREAD. */ | ||
| 51 | #ifndef FIONREAD | ||
| 52 | #undef SIGIO | ||
| 53 | #endif | ||
| 54 | |||
| 55 | 50 | ||
| 56 | /* Try to establish the correct character to disable terminal functions | 51 | /* Try to establish the correct character to disable terminal functions |
| 57 | in a system-independent manner. Note that USG (at least) define | 52 | in a system-independent manner. Note that USG (at least) define |