emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110410: Improve sys_siglist detectio


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110410: Improve sys_siglist detection.
Date: Sat, 06 Oct 2012 19:26:03 -0700
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110410
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sat 2012-10-06 19:26:03 -0700
message:
  Improve sys_siglist detection.
  
  * configure.ac (sys_siglist): Look for its decl in <signal.h>.
  Otherwise, it's not found in either Fedora 17 or Solaris 11.
  * src/sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
  defined as a macro, as is done in Solaris.
  (sys_siglist_entries): New macro.
  (save_strsignal): Use it.
  * src/syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
  GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
modified:
  ChangeLog
  configure.ac
  src/ChangeLog
  src/sysdep.c
  src/syssignal.h
=== modified file 'ChangeLog'
--- a/ChangeLog 2012-10-04 07:23:35 +0000
+++ b/ChangeLog 2012-10-07 02:26:03 +0000
@@ -1,3 +1,9 @@
+2012-10-07  Paul Eggert  <address@hidden>
+
+       Improve sys_siglist detection.
+       * configure.ac (sys_siglist): Look for its decl in <signal.h>.
+       Otherwise, it's not found in either Fedora 17 or Solaris 11.
+
 2012-10-04  Paul Eggert  <address@hidden>
 
        Merge from gnulib, incorporating:

=== modified file 'configure.ac'
--- a/configure.ac      2012-10-06 00:44:36 +0000
+++ b/configure.ac      2012-10-07 02:26:03 +0000
@@ -1284,10 +1284,12 @@
 dnl it doesn't define `bool'.
 AC_CHECK_HEADERS(term.h, , , -)
 AC_HEADER_TIME
-AC_CHECK_DECLS([sys_siglist])
+AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>
+                                     ]])
 if test $ac_cv_have_decl_sys_siglist != yes; then
   # For Tru64, at least:
-  AC_CHECK_DECLS([__sys_siglist])
+  AC_CHECK_DECLS([__sys_siglist], [], [], [[#include <signal.h>
+                                         ]])
   if test $ac_cv_have_decl___sys_siglist = yes; then
     AC_DEFINE(sys_siglist, __sys_siglist,
               [Define to any substitute for sys_siglist.])

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-10-06 17:31:11 +0000
+++ b/src/ChangeLog     2012-10-07 02:26:03 +0000
@@ -1,3 +1,13 @@
+2012-10-07  Paul Eggert  <address@hidden>
+
+       Improve sys_siglist detection.
+       * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
+       defined as a macro, as is done in Solaris.
+       (sys_siglist_entries): New macro.
+       (save_strsignal): Use it.
+       * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
+       GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
+
 2012-10-06  Jan Djärv  <address@hidden>
 
        * nsfns.m (Fx_create_frame): Call x_default_parameter with

=== modified file 'src/sysdep.c'
--- a/src/sysdep.c      2012-10-01 22:12:44 +0000
+++ b/src/sysdep.c      2012-10-07 02:26:03 +0000
@@ -1545,8 +1545,18 @@
 
 #if !HAVE_DECL_SYS_SIGLIST
 # undef sys_siglist
-# define sys_siglist my_sys_siglist
+# ifdef _sys_siglist
+#  define sys_siglist _sys_siglist
+# else
+#  define sys_siglist my_sys_siglist
 static char const *sys_siglist[NSIG];
+# endif
+#endif
+
+#ifdef _sys_nsig
+# define sys_siglist_entries _sys_nsig
+#else
+# define sys_siglist_entries NSIG
 #endif
 
 /* Handle bus errors, invalid instruction, etc.  */
@@ -1609,7 +1619,7 @@
   main_thread = pthread_self ();
 #endif
 
-#if !HAVE_DECL_SYS_SIGLIST
+#if !HAVE_DECL_SYS_SIGLIST && !defined _sys_siglist
   if (! initialized)
     {
       sys_siglist[SIGABRT] = "Aborted";
@@ -1757,7 +1767,7 @@
       sys_siglist[SIGXFSZ] = "File size limit exceeded";
 # endif
     }
-#endif /* !HAVE_DECL_SYS_SIGLIST */
+#endif /* !HAVE_DECL_SYS_SIGLIST && !_sys_siglist */
 
   /* Don't alter signal handlers if dumping.  On some machines,
      changing signal handlers sets static data that would make signals
@@ -2285,7 +2295,7 @@
 {
   char const *signame = 0;
 
-  if (0 <= code && code < NSIG)
+  if (0 <= code && code < sys_siglist_entries)
     signame = sys_siglist[code];
   if (! signame)
     signame = "Unknown signal";

=== modified file 'src/syssignal.h'
--- a/src/syssignal.h   2012-10-04 00:10:47 +0000
+++ b/src/syssignal.h   2012-10-07 02:26:03 +0000
@@ -43,7 +43,7 @@
 typedef void (*signal_handler_t) (int);
 
 extern void emacs_sigaction_init (struct sigaction *, signal_handler_t);
-char const *safe_strsignal (int);
+char const *safe_strsignal (int) ATTRIBUTE_CONST;
 
 #if NSIG < NSIG_MINIMUM
 # undef NSIG


reply via email to

[Prev in Thread] Current Thread [Next in Thread]