aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2012-09-15 01:45:27 -0700
committerPaul Eggert2012-09-15 01:45:27 -0700
commit39a57ad07b0521dd6dbcae9cd4996366aa59e1ba (patch)
tree77b103843b2a91952b3df49682ae278d2dfae54a
parent7105c8cbf3a3226701e4d2ecb0b9c2d207648a98 (diff)
downloademacs-39a57ad07b0521dd6dbcae9cd4996366aa59e1ba.tar.gz
emacs-39a57ad07b0521dd6dbcae9cd4996366aa59e1ba.zip
Port _setjmp fix to POSIXish hosts as well as Microsoft.
* 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.
-rw-r--r--nt/ChangeLog7
-rw-r--r--nt/config.nt15
-rw-r--r--src/ChangeLog7
-rw-r--r--src/image.c4
4 files changed, 22 insertions, 11 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 54e5570072a..197ce0cf850 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,10 @@
12012-09-15 Paul Eggert <eggert@cs.ucla.edu>
2
3 Port _setjmp fix to POSIXish hosts as well as Microsoft.
4 * config.nt: Attempt to sync with autogen/config.in.
5 (HAVE_SIGSETJMP, HAVE__SETJMP): New macros.
6 (_longjmp, _setjmp): Remove.
7
12012-09-14 Juanma Barranquero <lekktu@gmail.com> 82012-09-14 Juanma Barranquero <lekktu@gmail.com>
2 9
3 * config.nt: Sync with autogen/config.in. 10 * config.nt: Sync with autogen/config.in.
diff --git a/nt/config.nt b/nt/config.nt
index 5121a013aad..82b7da430ab 100644
--- a/nt/config.nt
+++ b/nt/config.nt
@@ -800,6 +800,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
800/* Define to 1 if 'wint_t' is a signed integer type. */ 800/* Define to 1 if 'wint_t' is a signed integer type. */
801#undef HAVE_SIGNED_WINT_T 801#undef HAVE_SIGNED_WINT_T
802 802
803/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is
804 irrelevant if HAVE__SETJMP is defined. */
805#undef HAVE_SIGSETJMP
806
803/* Define to 1 if the system has the type `sigset_t'. */ 807/* Define to 1 if the system has the type `sigset_t'. */
804#undef HAVE_SIGSET_T 808#undef HAVE_SIGSET_T
805 809
@@ -1084,6 +1088,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1084/* Define to 1 if you have the `_ftime' function. */ 1088/* Define to 1 if you have the `_ftime' function. */
1085#undef HAVE__FTIME 1089#undef HAVE__FTIME
1086 1090
1091/* Define to 1 if _setjmp and _longjmp work. */
1092#define HAVE__SETJMP 1
1093
1087/* Define to 1 if you have the `__builtin_unwind_init' function. */ 1094/* Define to 1 if you have the `__builtin_unwind_init' function. */
1088#undef HAVE___BUILTIN_UNWIND_INIT 1095#undef HAVE___BUILTIN_UNWIND_INIT
1089 1096
@@ -1511,14 +1518,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1511 declarations. Define as empty for no equivalent. */ 1518 declarations. Define as empty for no equivalent. */
1512#undef __restrict_arr 1519#undef __restrict_arr
1513 1520
1514/* Define to longjmp if _setjmp and _longjmp do not work. Because longjmp may
1515 alter signal masks, callers of _longjmp should not assume that it leaves
1516 signal masks alone. */
1517#undef _longjmp
1518
1519/* Define to setjmp if _setjmp and _longjmp do not work. See _longjmp. */
1520#undef _setjmp
1521
1522/* Some platforms that do not use configure define this to include extra 1521/* Some platforms that do not use configure define this to include extra
1523 configuration information. */ 1522 configuration information. */
1524#define config_opsysfile <ms-w32.h> 1523#define config_opsysfile <ms-w32.h>
diff --git a/src/ChangeLog b/src/ChangeLog
index f9d31b08abd..c6c314b9589 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12012-09-15 Paul Eggert <eggert@cs.ucla.edu>
2
3 Port _setjmp fix to POSIXish hosts as well as Microsoft.
4 * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
5 it's needed on POSIXish hosts that lack _setjmp. Attempt to solve
6 the Microsoft problem in a different way, by altering ../nt/config.nt.
7
12012-09-15 Eli Zaretskii <eliz@gnu.org> 82012-09-15 Eli Zaretskii <eliz@gnu.org>
2 9
3 * w32xfns.c: 10 * w32xfns.c:
diff --git a/src/image.c b/src/image.c
index 02151c500cc..8fc1c8637eb 100644
--- a/src/image.c
+++ b/src/image.c
@@ -5520,9 +5520,7 @@ init_png_functions (Lisp_Object libraries)
5520 MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in 5520 MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in
5521 the system header setjmp.h; don't mess up that. */ 5521 the system header setjmp.h; don't mess up that. */
5522#ifndef HAVE__SETJMP 5522#ifndef HAVE__SETJMP
5523# ifndef setjmp 5523# define _setjmp(j) setjmp (j)
5524# define _setjmp(j) setjmp (j)
5525# endif
5526# define _longjmp longjmp 5524# define _longjmp longjmp
5527#endif 5525#endif
5528 5526