]> git.eshelyaron.com Git - emacs.git/commitdiff
Port _setjmp fix to POSIXish hosts as well as Microsoft.
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 15 Sep 2012 08:45:27 +0000 (01:45 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 15 Sep 2012 08:45:27 +0000 (01:45 -0700)
* nt/config.nt: Attempt to sync with autogen/config.in.
(HAVE_SIGSETJMP, HAVE__SETJMP): New macros.
(_longjmp, _setjmp): Remove.
* src/image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
it's needed on POSIXish hosts that lack _setjmp.  Attempt to solve
the Microsoft problem in a different way, by altering nt/config.nt.

nt/ChangeLog
nt/config.nt
src/ChangeLog
src/image.c

index 54e5570072af11da3e29571e6add8baee5b2bd02..197ce0cf850bd49f00fce0a81604fce4db9e4071 100644 (file)
@@ -1,3 +1,10 @@
+2012-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port _setjmp fix to POSIXish hosts as well as Microsoft.
+       * config.nt: Attempt to sync with autogen/config.in.
+       (HAVE_SIGSETJMP, HAVE__SETJMP): New macros.
+       (_longjmp, _setjmp): Remove.
+
 2012-09-14  Juanma Barranquero  <lekktu@gmail.com>
 
        * config.nt: Sync with autogen/config.in.
index 5121a013aad3d97f8aa74a29fc39a896a7cbdaac..82b7da430abc6f7296fe8792fc23f9aa52b5d325 100644 (file)
@@ -800,6 +800,10 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Define to 1 if 'wint_t' is a signed integer type. */
 #undef HAVE_SIGNED_WINT_T
 
+/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is
+   irrelevant if HAVE__SETJMP is defined. */
+#undef HAVE_SIGSETJMP
+
 /* Define to 1 if the system has the type `sigset_t'. */
 #undef HAVE_SIGSET_T
 
@@ -1084,6 +1088,9 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Define to 1 if you have the `_ftime' function. */
 #undef HAVE__FTIME
 
+/* Define to 1 if _setjmp and _longjmp work. */
+#define HAVE__SETJMP 1
+
 /* Define to 1 if you have the `__builtin_unwind_init' function. */
 #undef HAVE___BUILTIN_UNWIND_INIT
 
@@ -1511,14 +1518,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    declarations. Define as empty for no equivalent. */
 #undef __restrict_arr
 
-/* Define to longjmp if _setjmp and _longjmp do not work. Because longjmp may
-   alter signal masks, callers of _longjmp should not assume that it leaves
-   signal masks alone. */
-#undef _longjmp
-
-/* Define to setjmp if _setjmp and _longjmp do not work. See _longjmp. */
-#undef _setjmp
-
 /* Some platforms that do not use configure define this to include extra
    configuration information. */
 #define config_opsysfile <ms-w32.h>
index f9d31b08abda3efe905b812da729099424cc8cba..c6c314b95897b14eee17bc64254677ac0efcb1d5 100644 (file)
@@ -1,3 +1,10 @@
+2012-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port _setjmp fix to POSIXish hosts as well as Microsoft.
+       * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
+       it's needed on POSIXish hosts that lack _setjmp.  Attempt to solve
+       the Microsoft problem in a different way, by altering ../nt/config.nt.
+
 2012-09-15  Eli Zaretskii  <eliz@gnu.org>
 
        * w32xfns.c:
index 02151c500ccf42b27df2824508ca512e168a055a..8fc1c8637ebb5e93afd16bb163151e3e481baacb 100644 (file)
@@ -5520,9 +5520,7 @@ init_png_functions (Lisp_Object libraries)
    MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in
    the system header setjmp.h; don't mess up that.  */
 #ifndef HAVE__SETJMP
-# ifndef setjmp
-#  define _setjmp(j) setjmp (j)
-# endif
+# define _setjmp(j) setjmp (j)
 # define _longjmp longjmp
 #endif