From: Paul Eggert <eggert@cs.ucla.edu>
To: 12446@debbugs.gnu.org
Cc: Juanma Barranquero <lekktu@gmail.com>
Subject: bug#12446: port better to POSIX hosts lacking _setjmp
Date: Fri, 14 Sep 2012 12:44:37 -0700 [thread overview]
Message-ID: <50538925.3010608@cs.ucla.edu> (raw)
Tags: patch
Here's a patch I plan to install after a bit more testing. It affects
the use of setjmp / _setjmp and so the Windows port probably needs to
be updated (for the symbols HAVE__SETJMP and/or HAVE_SIGSETJMP). I
don't think it breaks anything in Windows but have not looked at the
Windows port closely and I could be mistaken. I'm CC'ing this to Eli
and Juanma as a heads-up.
=== modified file 'ChangeLog'
--- ChangeLog 2012-09-14 18:56:19 +0000
+++ ChangeLog 2012-09-14 19:35:57 +0000
@@ -1,5 +1,9 @@
2012-09-14 Paul Eggert <eggert@cs.ucla.edu>
+ Port better to POSIX hosts lacking _setjmp.
+ * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
+ (_setjmp, _longjmp): Remove.
+
* configure.ac: Port to hosts lacking gtk.
(PKG_CHECK_MODULES): Capture pkg-config diagnostics
better, in particular, problems in invoking pkg-config itself.
=== modified file 'configure.ac'
--- configure.ac 2012-09-14 18:56:19 +0000
+++ configure.ac 2012-09-14 19:35:57 +0000
@@ -3774,13 +3774,24 @@
_longjmp (j, 1);]])],
[emacs_cv_func__setjmp=yes],
[emacs_cv_func__setjmp=no])])
-if test $emacs_cv_func__setjmp = no; then
- AC_DEFINE([_setjmp], [setjmp],
- [Define to setjmp if _setjmp and _longjmp do not work. See _longjmp.])
- AC_DEFINE([_longjmp], [longjmp],
- [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.])
+if test $emacs_cv_func__setjmp = yes; then
+ AC_DEFINE([HAVE__SETJMP], 1, [Define to 1 if _setjmp and _longjmp work.])
+else
+ AC_CACHE_CHECK([for sigsetjmp], [emacs_cv_func_sigsetjmp],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <setjmp.h>
+ ]],
+ [[sigjmp_buf j;
+ if (! sigsetjmp (j, 1))
+ siglongjmp (j, 1);]])],
+ [emacs_cv_func_sigsetjmp=yes],
+ [emacs_cv_func_sigsetjmp=no])])
+ if test $emacs_cv_func_sigsetjmp = yes; then
+ AC_DEFINE([HAVE_SIGSETJMP], 1,
+ [Define to 1 if sigsetjmp and siglongjmp work.
+ The value of this symbol is irrelevant if HAVE__SETJMP is defined.])
+ fi
fi
case $opsys in
=== modified file 'src/ChangeLog'
--- src/ChangeLog 2012-09-14 14:23:50 +0000
+++ src/ChangeLog 2012-09-14 19:35:57 +0000
@@ -1,3 +1,24 @@
+2012-09-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port better to POSIX hosts lacking _setjmp.
+ * lisp.h: Include <setjmp.h> here, since we use its symbols here.
+ All instances of '#include <setjmp.h>' removed, if the
+ only reason for the instance was because "lisp.h" was included.
+ (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
+ Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
+ and _longjmp with the new symbols. This ports better to POSIX hosts
+ that have sigsetjmp but not _setjmp, such as some versions of
+ Solaris and Unixware. (Also, POSIX-2008 marks _setjmp as obsolescent.)
+ * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
+ (png_load_body) [HAVE_PNG]:
+ (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
+ (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
+ Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
+ since PNG requires jmp_buf. This is the only exception to the
+ general rule that we now use sys_setjmp and sys_longjmp.
+ This exception is OK since this code does not change the signal
+ mask or longjmp out of a signal handler.
+
2012-09-14 Dmitry Antipov <dmantipov@yandex.ru>
Avoid out-of-range marker position (Bug#12426).
=== modified file 'src/alloc.c'
--- src/alloc.c 2012-09-13 05:18:26 +0000
+++ src/alloc.c 2012-09-14 19:35:57 +0000
@@ -24,7 +24,6 @@
#include <stdio.h>
#include <limits.h> /* For CHAR_BIT. */
-#include <setjmp.h>
#ifdef ENABLE_CHECKING
#include <signal.h> /* For SIGABRT. */
@@ -45,7 +44,7 @@
#include "frame.h"
#include "blockinput.h"
#include "termhooks.h" /* For struct terminal. */
-#include <setjmp.h>
+
#include <verify.h>
/* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects.
@@ -4762,14 +4761,14 @@
{
char buf[10];
register int x;
- jmp_buf jbuf;
+ sys_jmp_buf jbuf;
/* Arrange for X to be put in a register. */
sprintf (buf, "1");
x = strlen (buf);
x = 2 * x - 1;
- _setjmp (jbuf);
+ sys_setjmp (jbuf);
if (longjmps_done == 1)
{
/* Came here after the longjmp at the end of the function.
@@ -4794,7 +4793,7 @@
++longjmps_done;
x = 2;
if (longjmps_done == 1)
- _longjmp (jbuf, 1);
+ sys_longjmp (jbuf, 1);
}
#endif /* not GC_SAVE_REGISTERS_ON_STACK && not GC_SETJMP_WORKS */
@@ -4900,7 +4899,7 @@
/* jmp_buf may not be aligned enough on darwin-ppc64 */
union aligned_jmpbuf {
Lisp_Object o;
- jmp_buf j;
+ sys_jmp_buf j;
} j;
volatile bool stack_grows_down_p = (char *) &j > (char *) stack_base;
#endif
@@ -4936,7 +4935,7 @@
}
#endif /* GC_SETJMP_WORKS */
- _setjmp (j.j);
+ sys_setjmp (j.j);
end = stack_grows_down_p ? (char *) &j + sizeof j : (char *) &j;
#endif /* not GC_SAVE_REGISTERS_ON_STACK */
#endif /* not HAVE___BUILTIN_UNWIND_INIT */
=== modified file 'src/atimer.c'
--- src/atimer.c 2012-09-07 01:27:44 +0000
+++ src/atimer.c 2012-09-14 19:35:57 +0000
@@ -18,7 +18,7 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "syssignal.h"
#include "systime.h"
=== modified file 'src/bidi.c'
--- src/bidi.c 2012-09-11 22:59:50 +0000
+++ src/bidi.c 2012-09-14 19:35:57 +0000
@@ -56,7 +56,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/buffer.c'
--- src/buffer.c 2012-09-11 04:22:03 +0000
+++ src/buffer.c 2012-09-14 19:35:57 +0000
@@ -26,7 +26,6 @@
#include <sys/param.h>
#include <errno.h>
#include <stdio.h>
-#include <setjmp.h>
#include <unistd.h>
#include <verify.h>
=== modified file 'src/bytecode.c'
--- src/bytecode.c 2012-09-04 17:34:54 +0000
+++ src/bytecode.c 2012-09-14 19:35:57 +0000
@@ -33,7 +33,7 @@
*/
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/callint.c'
--- src/callint.c 2012-08-25 03:11:12 +0000
+++ src/callint.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,6 @@
#include <config.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/callproc.c'
--- src/callproc.c 2012-09-07 01:27:44 +0000
+++ src/callproc.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <errno.h>
#include <stdio.h>
-#include <setjmp.h>
#include <sys/types.h>
#include <unistd.h>
=== modified file 'src/casefiddle.c'
--- src/casefiddle.c 2012-08-25 06:25:00 +0000
+++ src/casefiddle.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,7 @@
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/casetab.c'
--- src/casetab.c 2012-08-25 06:25:00 +0000
+++ src/casetab.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,7 @@
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/category.c'
--- src/category.c 2012-08-25 06:25:00 +0000
+++ src/category.c 2012-09-14 19:35:57 +0000
@@ -32,7 +32,6 @@
#define CATEGORY_INLINE EXTERN_INLINE
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/ccl.c'
--- src/ccl.c 2012-07-05 06:32:41 +0000
+++ src/ccl.c 2012-09-14 19:35:57 +0000
@@ -26,7 +26,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <limits.h>
#include "lisp.h"
=== modified file 'src/character.c'
--- src/character.c 2012-09-04 17:34:54 +0000
+++ src/character.c 2012-09-14 19:35:57 +0000
@@ -36,7 +36,6 @@
#ifdef emacs
#include <sys/types.h>
-#include <setjmp.h>
#include <intprops.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/charset.c'
--- src/charset.c 2012-09-04 17:34:54 +0000
+++ src/charset.c 2012-09-14 19:35:57 +0000
@@ -32,7 +32,6 @@
#include <unistd.h>
#include <limits.h>
#include <sys/types.h>
-#include <setjmp.h>
#include <c-ctype.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/chartab.c'
--- src/chartab.c 2012-08-26 08:41:36 +0000
+++ src/chartab.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,7 @@
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "charset.h"
=== modified file 'src/cm.c'
--- src/cm.c 2012-09-04 17:34:54 +0000
+++ src/cm.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
=== modified file 'src/cmds.c'
--- src/cmds.c 2012-08-27 16:19:34 +0000
+++ src/cmds.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,7 @@
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "commands.h"
#include "character.h"
=== modified file 'src/coding.c'
--- src/coding.c 2012-09-04 17:34:54 +0000
+++ src/coding.c 2012-09-14 19:35:57 +0000
@@ -285,7 +285,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/composite.c'
--- src/composite.c 2012-08-27 17:23:48 +0000
+++ src/composite.c 2012-09-14 19:35:57 +0000
@@ -26,7 +26,6 @@
#define COMPOSITE_INLINE EXTERN_INLINE
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/data.c'
--- src/data.c 2012-09-12 19:16:36 +0000
+++ src/data.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <intprops.h>
=== modified file 'src/dbusbind.c'
--- src/dbusbind.c 2012-08-27 17:23:48 +0000
+++ src/dbusbind.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,7 @@
#ifdef HAVE_DBUS
#include <stdio.h>
#include <dbus/dbus.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "frame.h"
#include "termhooks.h"
=== modified file 'src/dired.c'
--- src/dired.c 2012-09-04 17:34:54 +0000
+++ src/dired.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,6 @@
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
=== modified file 'src/dispnew.c'
--- src/dispnew.c 2012-09-13 02:21:28 +0000
+++ src/dispnew.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,6 @@
#define DISPEXTERN_INLINE EXTERN_INLINE
#include <stdio.h>
-#include <setjmp.h>
#include <unistd.h>
#include "lisp.h"
=== modified file 'src/doc.c'
--- src/doc.c 2012-09-03 19:36:09 +0000
+++ src/doc.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,6 @@
#include <sys/types.h>
#include <sys/file.h> /* Must be after sys/types.h for USG*/
-#include <setjmp.h>
#include <fcntl.h>
#include <unistd.h>
=== modified file 'src/doprnt.c'
--- src/doprnt.c 2012-09-09 16:06:33 +0000
+++ src/doprnt.c 2012-09-14 19:35:57 +0000
@@ -102,7 +102,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <float.h>
#include <unistd.h>
#include <limits.h>
=== modified file 'src/dosfns.c'
--- src/dosfns.c 2012-08-17 21:52:15 +0000
+++ src/dosfns.c 2012-09-14 19:35:57 +0000
@@ -30,7 +30,7 @@
#include <dos.h>
#undef gettime
#undef settime
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/editfns.c'
--- src/editfns.c 2012-09-11 04:22:03 +0000
+++ src/editfns.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <sys/types.h>
#include <stdio.h>
-#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
=== modified file 'src/emacs.c'
--- src/emacs.c 2012-09-13 02:21:28 +0000
+++ src/emacs.c 2012-09-14 19:35:57 +0000
@@ -25,7 +25,6 @@
#include <sys/types.h>
#include <sys/file.h>
-#include <setjmp.h>
#include <unistd.h>
#include "lisp.h"
=== modified file 'src/emacsgtkfixed.c'
--- src/emacsgtkfixed.c 2012-09-13 04:14:33 +0000
+++ src/emacsgtkfixed.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,7 @@
#include "emacsgtkfixed.h"
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "frame.h"
#include "xterm.h"
=== modified file 'src/eval.c'
--- src/eval.c 2012-09-12 21:34:24 +0000
+++ src/eval.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,6 @@
#include <config.h>
#include <limits.h>
-#include <setjmp.h>
#include <stdio.h>
#include "lisp.h"
#include "blockinput.h"
@@ -1072,7 +1071,7 @@
catchlist = &c;
/* Call FUNC. */
- if (! _setjmp (c.jmp))
+ if (! sys_setjmp (c.jmp))
c.val = (*func) (arg);
/* Throw works by a longjmp that comes right here. */
@@ -1140,7 +1139,7 @@
backtrace_list = catch->backlist;
lisp_eval_depth = catch->lisp_eval_depth;
- _longjmp (catch->jmp, 1);
+ sys_longjmp (catch->jmp, 1);
}
DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0,
@@ -1246,7 +1245,7 @@
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
if (!NILP (h.var))
specbind (h.var, c.val);
@@ -1301,7 +1300,7 @@
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
@@ -1339,7 +1338,7 @@
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
@@ -1381,7 +1380,7 @@
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
@@ -1425,7 +1424,7 @@
c.interrupt_input_blocked = interrupt_input_blocked;
c.gcpro = gcprolist;
c.byte_stack = byte_stack_list;
- if (_setjmp (c.jmp))
+ if (sys_setjmp (c.jmp))
{
return (*hfun) (c.val, nargs, args);
}
=== modified file 'src/fileio.c'
--- src/fileio.c 2012-09-05 07:18:46 +0000
+++ src/fileio.c 2012-09-14 19:35:57 +0000
@@ -23,7 +23,6 @@
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <setjmp.h>
#include <unistd.h>
#ifdef HAVE_PWD_H
=== modified file 'src/filelock.c'
--- src/filelock.c 2012-09-05 07:18:46 +0000
+++ src/filelock.c 2012-09-14 19:35:57 +0000
@@ -23,7 +23,6 @@
#include <sys/stat.h>
#include <signal.h>
#include <stdio.h>
-#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
=== modified file 'src/floatfns.c'
--- src/floatfns.c 2012-09-11 02:28:27 +0000
+++ src/floatfns.c 2012-09-14 19:35:57 +0000
@@ -29,7 +29,7 @@
*/
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "syssignal.h"
=== modified file 'src/fns.c'
--- src/fns.c 2012-09-11 22:59:50 +0000
+++ src/fns.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <unistd.h>
#include <time.h>
-#include <setjmp.h>
#include <intprops.h>
=== modified file 'src/font.c'
--- src/font.c 2012-09-06 08:04:49 +0000
+++ src/font.c 2012-09-14 19:35:57 +0000
@@ -23,7 +23,6 @@
#include <config.h>
#include <float.h>
#include <stdio.h>
-#include <setjmp.h>
#include <c-ctype.h>
=== modified file 'src/fontset.c'
--- src/fontset.c 2012-09-06 08:04:49 +0000
+++ src/fontset.c 2012-09-14 19:35:57 +0000
@@ -26,7 +26,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "blockinput.h"
=== modified file 'src/frame.c'
--- src/frame.c 2012-09-13 05:18:26 +0000
+++ src/frame.c 2012-09-14 19:35:57 +0000
@@ -24,7 +24,6 @@
#include <stdio.h>
#include <errno.h>
#include <limits.h>
-#include <setjmp.h>
#include <c-ctype.h>
=== modified file 'src/fringe.c'
--- src/fringe.c 2012-09-09 20:10:36 +0000
+++ src/fringe.c 2012-09-14 19:35:57 +0000
@@ -18,7 +18,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
=== modified file 'src/ftfont.c'
--- src/ftfont.c 2012-09-06 08:04:49 +0000
+++ src/ftfont.c 2012-09-14 19:35:57 +0000
@@ -21,8 +21,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
-
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcfreetype.h>
=== modified file 'src/ftxfont.c'
--- src/ftxfont.c 2012-09-06 08:04:49 +0000
+++ src/ftxfont.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <X11/Xlib.h>
#include "lisp.h"
=== modified file 'src/gnutls.c'
--- src/gnutls.c 2012-08-18 02:49:24 +0000
+++ src/gnutls.c 2012-09-14 19:35:57 +0000
@@ -18,7 +18,6 @@
#include <config.h>
#include <errno.h>
-#include <setjmp.h>
#include "lisp.h"
#include "process.h"
=== modified file 'src/gtkutil.c'
--- src/gtkutil.c 2012-09-07 01:27:44 +0000
+++ src/gtkutil.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,6 @@
#ifdef USE_GTK
#include <float.h>
#include <stdio.h>
-#include <setjmp.h>
#include <c-ctype.h>
=== modified file 'src/image.c'
--- src/image.c 2012-09-13 01:22:08 +0000
+++ src/image.c 2012-09-14 19:35:57 +0000
@@ -5514,6 +5514,13 @@
#endif /* HAVE_NTGUI */
+/* Possibly inefficient/inexact substitutes for _setjmp and _longjmp.
+ Do not use sys_setjmp, as PNG supports only jmp_buf. The _longjmp
+ substitute may munge the signal mask, but that should be OK here. */
+#ifndef HAVE__SETJMP
+# define _setjmp(j) setjmp (j)
+# define _longjmp longjmp
+#endif
#if (PNG_LIBPNG_VER < 10500)
#define PNG_LONGJMP(ptr) (_longjmp ((ptr)->jmpbuf, 1))
@@ -5593,7 +5600,7 @@
struct png_load_context
{
- /* These are members so that _longjmp doesn't munge local variables. */
+ /* These are members so that longjmp doesn't munge local variables. */
png_struct *png_ptr;
png_info *info_ptr;
png_info *end_info;
@@ -6129,9 +6136,9 @@
struct my_jpeg_error_mgr
{
struct jpeg_error_mgr pub;
- jmp_buf setjmp_buffer;
+ sys_jmp_buf setjmp_buffer;
- /* The remaining members are so that _longjmp doesn't munge local
+ /* The remaining members are so that longjmp doesn't munge local
variables. */
struct jpeg_decompress_struct cinfo;
enum
@@ -6151,7 +6158,7 @@
{
struct my_jpeg_error_mgr *mgr = (struct my_jpeg_error_mgr *) cinfo->err;
mgr->failure_code = MY_JPEG_ERROR_EXIT;
- _longjmp (mgr->setjmp_buffer, 1);
+ sys_longjmp (mgr->setjmp_buffer, 1);
}
@@ -6401,7 +6408,7 @@
error is detected. This function will perform a longjmp. */
mgr->cinfo.err = fn_jpeg_std_error (&mgr->pub);
mgr->pub.error_exit = my_error_exit;
- if (_setjmp (mgr->setjmp_buffer))
+ if (sys_setjmp (mgr->setjmp_buffer))
{
switch (mgr->failure_code)
{
@@ -6460,14 +6467,14 @@
if (!check_image_size (f, width, height))
{
mgr->failure_code = MY_JPEG_INVALID_IMAGE_SIZE;
- _longjmp (mgr->setjmp_buffer, 1);
+ sys_longjmp (mgr->setjmp_buffer, 1);
}
/* Create X image and pixmap. */
if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg, &img->pixmap))
{
mgr->failure_code = MY_JPEG_CANNOT_CREATE_X;
- _longjmp (mgr->setjmp_buffer, 1);
+ sys_longjmp (mgr->setjmp_buffer, 1);
}
/* Allocate colors. When color quantization is used,
=== modified file 'src/indent.c'
--- src/indent.c 2012-09-04 17:34:54 +0000
+++ src/indent.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/insdel.c'
--- src/insdel.c 2012-09-14 14:23:50 +0000
+++ src/insdel.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,6 @@
#include <config.h>
-#include <setjmp.h>
#include <intprops.h>
=== modified file 'src/intervals.c'
--- src/intervals.c 2012-09-04 17:34:54 +0000
+++ src/intervals.c 2012-09-14 19:35:57 +0000
@@ -41,7 +41,6 @@
#define INTERVALS_INLINE EXTERN_INLINE
-#include <setjmp.h>
#include <intprops.h>
#include "lisp.h"
#include "intervals.h"
=== modified file 'src/keyboard.c'
--- src/keyboard.c 2012-09-13 16:23:06 +0000
+++ src/keyboard.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,7 @@
#define KEYBOARD_INLINE EXTERN_INLINE
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "termchar.h"
#include "termopts.h"
@@ -145,7 +145,7 @@
/* For longjmp to where kbd input is being done. */
-static jmp_buf getcjmp;
+static sys_jmp_buf getcjmp;
/* True while doing kbd input. */
int waiting_for_input;
@@ -434,8 +434,8 @@
Lisp_Object *, ptrdiff_t);
static Lisp_Object make_lispy_switch_frame (Lisp_Object);
static int help_char_p (Lisp_Object);
-static void save_getcjmp (jmp_buf);
-static void restore_getcjmp (jmp_buf);
+static void save_getcjmp (sys_jmp_buf);
+static void restore_getcjmp (sys_jmp_buf);
static Lisp_Object apply_modifiers (int, Lisp_Object);
static void clear_event (struct input_event *);
static Lisp_Object restore_kboard_configuration (Lisp_Object);
@@ -2315,8 +2315,8 @@
{
volatile Lisp_Object c;
ptrdiff_t jmpcount;
- jmp_buf local_getcjmp;
- jmp_buf save_jump;
+ sys_jmp_buf local_getcjmp;
+ sys_jmp_buf save_jump;
volatile int key_already_recorded = 0;
Lisp_Object tem, save;
volatile Lisp_Object previous_echo_area_message;
@@ -2562,7 +2562,7 @@
it *must not* be in effect when we call redisplay. */
jmpcount = SPECPDL_INDEX ();
- if (_setjmp (local_getcjmp))
+ if (sys_setjmp (local_getcjmp))
{
/* Handle quits while reading the keyboard. */
/* We must have saved the outer value of getcjmp here,
@@ -3394,13 +3394,13 @@
See read_process_output. */
static void
-save_getcjmp (jmp_buf temp)
+save_getcjmp (sys_jmp_buf temp)
{
memcpy (temp, getcjmp, sizeof getcjmp);
}
static void
-restore_getcjmp (jmp_buf temp)
+restore_getcjmp (sys_jmp_buf temp)
{
memcpy (getcjmp, temp, sizeof getcjmp);
}
@@ -10979,7 +10979,7 @@
do_switch_frame (make_lispy_switch_frame (internal_last_event_frame),
0, 0, Qnil);
- _longjmp (getcjmp, 1);
+ sys_longjmp (getcjmp, 1);
}
\f
DEFUN ("set-input-interrupt-mode", Fset_input_interrupt_mode,
=== modified file 'src/keymap.c'
--- src/keymap.c 2012-09-04 17:34:54 +0000
+++ src/keymap.c 2012-09-14 19:35:57 +0000
@@ -40,7 +40,7 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "commands.h"
#include "character.h"
=== modified file 'src/lisp.h'
--- src/lisp.h 2012-09-11 23:50:28 +0000
+++ src/lisp.h 2012-09-14 19:35:57 +0000
@@ -20,6 +20,7 @@
#ifndef EMACS_LISP_H
#define EMACS_LISP_H
+#include <setjmp.h>
#include <stdalign.h>
#include <stdarg.h>
#include <stdbool.h>
@@ -1963,7 +1964,24 @@
static struct Lisp_Kboard_Objfwd ko_fwd; \
defvar_kboard (&ko_fwd, lname, offsetof (KBOARD, vname ## _)); \
} while (0)
+\f
+/* Save and restore the instruction and environment pointers,
+ without affecting the signal mask. */
+#ifdef HAVE__SETJMP
+typedef jmp_buf sys_jmp_buf;
+# define sys_setjmp(j) _setjmp (j)
+# define sys_longjmp(j, v) _longjmp (j, v)
+#elif defined HAVE_SIGSETJMP
+typedef sigjmp_buf sys_jmp_buf;
+# define sys_setjmp(j) sigsetjmp (j, 0)
+# define sys_longjmp(j, v) siglongjmp (j, v)
+#else
+/* A non-POSIX platform; assume longjmp does not affect the sigmask. */
+typedef jmp_buf sys_jmp_buf;
+# define sys_setjmp(j) setjmp (j)
+# define sys_longjmp(j, v) longjmp (j, v)
+#endif
\f
/* Structure for recording Lisp call stack for backtrace purposes. */
@@ -2056,7 +2074,7 @@
Lisp_Object volatile val;
struct catchtag *volatile next;
struct gcpro *gcpro;
- jmp_buf jmp;
+ sys_jmp_buf jmp;
struct backtrace *backlist;
struct handler *handlerlist;
EMACS_INT lisp_eval_depth;
=== modified file 'src/lread.c'
--- src/lread.c 2012-09-11 04:22:03 +0000
+++ src/lread.c 2012-09-14 19:35:57 +0000
@@ -25,7 +25,6 @@
#include <sys/file.h>
#include <errno.h>
#include <limits.h> /* For CHAR_BIT. */
-#include <setjmp.h>
#include <stat-time.h>
#include "lisp.h"
#include "intervals.h"
=== modified file 'src/macros.c'
--- src/macros.c 2012-08-17 23:38:43 +0000
+++ src/macros.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,7 @@
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "macros.h"
#include "commands.h"
=== modified file 'src/marker.c'
--- src/marker.c 2012-09-11 04:22:03 +0000
+++ src/marker.c 2012-09-14 19:35:57 +0000
@@ -18,7 +18,7 @@
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/menu.c'
--- src/menu.c 2012-09-04 17:34:54 +0000
+++ src/menu.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <limits.h> /* for INT_MAX */
#include "lisp.h"
=== modified file 'src/minibuf.c'
--- src/minibuf.c 2012-09-11 04:22:03 +0000
+++ src/minibuf.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <errno.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "commands.h"
=== modified file 'src/nsfns.m'
--- src/nsfns.m 2012-09-07 01:27:44 +0000
+++ src/nsfns.m 2012-09-14 19:35:57 +0000
@@ -31,7 +31,6 @@
#include <config.h>
#include <math.h>
-#include <setjmp.h>
#include <c-strcase.h>
#include "lisp.h"
=== modified file 'src/nsfont.m'
--- src/nsfont.m 2012-09-06 08:04:49 +0000
+++ src/nsfont.m 2012-09-14 19:35:57 +0000
@@ -23,7 +23,6 @@
/* This should be the first include, as it may set up #defines affecting
interpretation of even the system includes. */
#include <config.h>
-#include <setjmp.h>
#include "lisp.h"
#include "dispextern.h"
=== modified file 'src/nsimage.m'
--- src/nsimage.m 2012-08-16 21:58:44 +0000
+++ src/nsimage.m 2012-09-14 19:35:57 +0000
@@ -28,7 +28,6 @@
/* This should be the first include, as it may set up #defines affecting
interpretation of even the system includes. */
#include <config.h>
-#include <setjmp.h>
#include "lisp.h"
#include "dispextern.h"
=== modified file 'src/nsmenu.m'
--- src/nsmenu.m 2012-09-04 17:34:54 +0000
+++ src/nsmenu.m 2012-09-14 19:35:57 +0000
@@ -24,7 +24,6 @@
/* This should be the first include, as it may set up #defines affecting
interpretation of even the system includes. */
#include <config.h>
-#include <setjmp.h>
#include "lisp.h"
#include "window.h"
=== modified file 'src/nsselect.m'
--- src/nsselect.m 2012-08-07 13:37:21 +0000
+++ src/nsselect.m 2012-09-14 19:35:57 +0000
@@ -28,7 +28,6 @@
/* This should be the first include, as it may set up #defines affecting
interpretation of even the system includes. */
#include <config.h>
-#include <setjmp.h>
#include "lisp.h"
#include "nsterm.h"
=== modified file 'src/nsterm.m'
--- src/nsterm.m 2012-09-11 17:08:02 +0000
+++ src/nsterm.m 2012-09-14 19:35:57 +0000
@@ -35,7 +35,6 @@
#include <time.h>
#include <signal.h>
#include <unistd.h>
-#include <setjmp.h>
#include <c-ctype.h>
#include <c-strcase.h>
=== modified file 'src/print.c'
--- src/print.c 2012-09-11 04:22:03 +0000
+++ src/print.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,7 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/process.c'
--- src/process.c 2012-09-13 02:21:28 +0000
+++ src/process.c 2012-09-14 19:35:57 +0000
@@ -25,12 +25,9 @@
#include <stdio.h>
#include <errno.h>
-#include <setjmp.h>
#include <sys/types.h> /* Some typedefs are used in sys/file.h. */
#include <sys/file.h>
#include <sys/stat.h>
-#include <setjmp.h>
-
#include <unistd.h>
#include <fcntl.h>
@@ -5421,7 +5418,7 @@
\f
/* Sending data to subprocess */
-static jmp_buf send_process_frame;
+static sys_jmp_buf send_process_frame;
static Lisp_Object process_sent_to;
static _Noreturn void
@@ -5431,7 +5428,7 @@
sigemptyset (&unblocked);
sigaddset (&unblocked, SIGPIPE);
pthread_sigmask (SIG_UNBLOCK, &unblocked, 0);
- _longjmp (send_process_frame, 1);
+ sys_longjmp (send_process_frame, 1);
}
static void
@@ -5640,7 +5637,7 @@
/* 2000-09-21: Emacs 20.7, sparc-sun-solaris-2.6, GCC 2.95.2,
CFLAGS="-g -O": The value of the parameter `proc' is clobbered
when returning with longjmp despite being declared volatile. */
- if (!_setjmp (send_process_frame))
+ if (!sys_setjmp (send_process_frame))
{
p = XPROCESS (proc); /* Repair any setjmp clobbering. */
process_sent_to = proc;
=== modified file 'src/ralloc.c'
--- src/ralloc.c 2012-09-04 17:34:54 +0000
+++ src/ralloc.c 2012-09-14 19:35:57 +0000
@@ -25,7 +25,7 @@
#ifdef emacs
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h" /* Needed for VALBITS. */
#include "blockinput.h"
=== modified file 'src/regex.c'
--- src/regex.c 2012-09-03 19:36:09 +0000
+++ src/regex.c 2012-09-14 19:35:57 +0000
@@ -126,7 +126,6 @@
that make sense only in Emacs. */
#ifdef emacs
-# include <setjmp.h>
# include "lisp.h"
# include "character.h"
# include "buffer.h"
=== modified file 'src/region-cache.c'
--- src/region-cache.c 2012-09-04 17:34:54 +0000
+++ src/region-cache.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/scroll.c'
--- src/scroll.c 2012-09-04 17:34:54 +0000
+++ src/scroll.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,7 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "termchar.h"
#include "dispextern.h"
=== modified file 'src/search.c'
--- src/search.c 2012-09-04 17:34:54 +0000
+++ src/search.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,7 @@
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "syntax.h"
#include "category.h"
=== modified file 'src/sheap.c'
--- src/sheap.c 2012-01-19 07:21:25 +0000
+++ src/sheap.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,7 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include <unistd.h>
@@ -93,4 +93,3 @@
bss_sbrk_ptr - bss_sbrk_buffer, STATIC_HEAP_SIZE);
message ("%s", buf);
}
-
=== modified file 'src/sound.c'
--- src/sound.c 2012-09-13 02:21:28 +0000
+++ src/sound.c 2012-09-14 19:35:57 +0000
@@ -44,7 +44,7 @@
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "dispextern.h"
#include "atimer.h"
=== modified file 'src/syntax.c'
--- src/syntax.c 2012-09-08 14:23:01 +0000
+++ src/syntax.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,7 @@
#include <config.h>
#include <sys/types.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "commands.h"
#include "character.h"
=== modified file 'src/sysdep.c'
--- src/sysdep.c 2012-09-13 02:21:28 +0000
+++ src/sysdep.c 2012-09-14 19:35:57 +0000
@@ -23,7 +23,6 @@
#include <execinfo.h>
#include <stdio.h>
-#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
#include <grp.h>
=== modified file 'src/term.c'
--- src/term.c 2012-09-13 02:21:28 +0000
+++ src/term.c 2012-09-14 19:35:57 +0000
@@ -25,7 +25,6 @@
#include <sys/file.h>
#include <sys/time.h>
#include <unistd.h>
-#include <setjmp.h>
#include "lisp.h"
#include "termchar.h"
=== modified file 'src/termcap.c'
--- src/termcap.c 2012-07-05 18:35:48 +0000
+++ src/termcap.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,6 @@
/* Emacs config.h may rename various library functions such as malloc. */
#include <config.h>
-#include <setjmp.h>
#include <sys/file.h>
#include <fcntl.h>
#include <unistd.h>
=== modified file 'src/terminal.c'
--- src/terminal.c 2012-09-04 17:34:54 +0000
+++ src/terminal.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#define TERMHOOKS_INLINE EXTERN_INLINE
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
=== modified file 'src/terminfo.c'
--- src/terminfo.c 2012-09-04 17:34:54 +0000
+++ src/terminfo.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,6 @@
#include <config.h>
#include "tparam.h"
-#include <setjmp.h>
#include "lisp.h"
/* Define these variables that serve as global parameters to termcap,
=== modified file 'src/textprop.c'
--- src/textprop.c 2012-09-07 14:45:28 +0000
+++ src/textprop.c 2012-09-14 19:35:57 +0000
@@ -17,7 +17,7 @@
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "intervals.h"
#include "character.h"
=== modified file 'src/tparam.c'
--- src/tparam.c 2012-09-04 17:34:54 +0000
+++ src/tparam.c 2012-09-14 19:35:57 +0000
@@ -19,7 +19,7 @@
/* Emacs config.h may rename various library functions such as malloc. */
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h" /* for xmalloc */
#include "tparam.h"
\f
=== modified file 'src/undo.c'
--- src/undo.c 2012-08-28 06:20:08 +0000
+++ src/undo.c 2012-09-14 19:35:57 +0000
@@ -18,7 +18,7 @@
#include <config.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "character.h"
#include "buffer.h"
=== modified file 'src/unexaix.c'
--- src/unexaix.c 2012-08-19 20:02:24 +0000
+++ src/unexaix.c 2012-09-14 19:35:57 +0000
@@ -89,7 +89,6 @@
static int pagemask;
-#include <setjmp.h>
#include "lisp.h"
static void
=== modified file 'src/unexcoff.c'
--- src/unexcoff.c 2012-08-19 20:02:24 +0000
+++ src/unexcoff.c 2012-09-14 19:35:57 +0000
@@ -120,7 +120,6 @@
#define ADDR_CORRECT(x) ((char *)(x) - (char*)0)
-#include <setjmp.h>
#include "lisp.h"
static void
=== modified file 'src/unexcw.c'
--- src/unexcw.c 2012-01-19 07:21:25 +0000
+++ src/unexcw.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include "unexec.h"
-#include <setjmp.h>
#include <lisp.h>
#include <stdio.h>
#include <fcntl.h>
=== modified file 'src/unexsol.c'
--- src/unexsol.c 2012-06-16 12:24:15 +0000
+++ src/unexsol.c 2012-09-14 19:35:57 +0000
@@ -4,7 +4,6 @@
#include "unexec.h"
#include <dlfcn.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/vm-limit.c'
--- src/vm-limit.c 2012-08-19 21:00:09 +0000
+++ src/vm-limit.c 2012-09-14 19:35:57 +0000
@@ -17,7 +17,6 @@
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <setjmp.h>
#include <unistd.h> /* for 'environ', on AIX */
#include "lisp.h"
#include "mem-limits.h"
=== modified file 'src/widget.c'
--- src/widget.c 2012-09-07 01:27:44 +0000
+++ src/widget.c 2012-09-14 19:35:57 +0000
@@ -30,7 +30,7 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
+
#include "lisp.h"
#include "xterm.h"
=== modified file 'src/window.c'
--- src/window.c 2012-09-11 15:42:50 +0000
+++ src/window.c 2012-09-14 19:35:57 +0000
@@ -23,7 +23,6 @@
#define WINDOW_INLINE EXTERN_INLINE
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/xdisp.c'
--- src/xdisp.c 2012-09-14 06:55:38 +0000
+++ src/xdisp.c 2012-09-14 19:35:57 +0000
@@ -273,7 +273,6 @@
#include <config.h>
#include <stdio.h>
#include <limits.h>
-#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
=== modified file 'src/xfaces.c'
--- src/xfaces.c 2012-09-11 22:59:50 +0000
+++ src/xfaces.c 2012-09-14 19:35:57 +0000
@@ -204,7 +204,6 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h> /* This needs to be before termchar.h */
-#include <setjmp.h>
#include "lisp.h"
#include "character.h"
=== modified file 'src/xfns.c'
--- src/xfns.c 2012-08-18 06:06:39 +0000
+++ src/xfns.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,6 @@
#include <config.h>
#include <stdio.h>
#include <math.h>
-#include <setjmp.h>
#include <unistd.h>
/* This makes the fields of a Display accessible, in Xlib header files. */
=== modified file 'src/xfont.c'
--- src/xfont.c 2012-09-06 08:04:49 +0000
+++ src/xfont.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <X11/Xlib.h>
#include "lisp.h"
=== modified file 'src/xftfont.c'
--- src/xftfont.c 2012-09-06 08:04:49 +0000
+++ src/xftfont.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include <X11/Xlib.h>
#include <X11/Xft/Xft.h>
=== modified file 'src/xgselect.c'
--- src/xgselect.c 2012-09-11 22:59:50 +0000
+++ src/xgselect.c 2012-09-14 19:35:57 +0000
@@ -19,14 +19,12 @@
#include <config.h>
-#include <setjmp.h>
#include "xgselect.h"
#if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS)
#include <glib.h>
#include <errno.h>
-#include <setjmp.h>
#include "xterm.h"
int
=== modified file 'src/xmenu.c'
--- src/xmenu.c 2012-09-07 01:27:44 +0000
+++ src/xmenu.c 2012-09-14 19:35:57 +0000
@@ -33,7 +33,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
=== modified file 'src/xml.c'
--- src/xml.c 2012-06-16 12:24:15 +0000
+++ src/xml.c 2012-09-14 19:35:57 +0000
@@ -20,7 +20,6 @@
#ifdef HAVE_LIBXML2
-#include <setjmp.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/HTMLparser.h>
=== modified file 'src/xrdb.c'
--- src/xrdb.c 2012-07-05 18:35:48 +0000
+++ src/xrdb.c 2012-09-14 19:35:57 +0000
@@ -26,7 +26,6 @@
#include <epaths.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
=== modified file 'src/xselect.c'
--- src/xselect.c 2012-09-04 17:34:54 +0000
+++ src/xselect.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,6 @@
#include <config.h>
#include <limits.h>
#include <stdio.h> /* termhooks.h needs this */
-#include <setjmp.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
=== modified file 'src/xsettings.c'
--- src/xsettings.c 2012-07-12 03:45:46 +0000
+++ src/xsettings.c 2012-09-14 19:35:57 +0000
@@ -21,7 +21,6 @@
#include <float.h>
#include <limits.h>
-#include <setjmp.h>
#include <fcntl.h>
#include "lisp.h"
#include "xterm.h"
@@ -711,12 +710,12 @@
if (send_event_p)
store_config_changed_event (Qfont_render,
XCAR (dpyinfo->name_list_element));
- Vxft_settings
+ Vxft_settings
= make_formatted_string (buf, format,
oldsettings.aa, oldsettings.hinting,
oldsettings.rgba, oldsettings.lcdfilter,
oldsettings.hintstyle, oldsettings.dpi);
-
+
}
else
FcPatternDestroy (pat);
=== modified file 'src/xsmfns.c'
--- src/xsmfns.c 2012-08-27 17:23:48 +0000
+++ src/xsmfns.c 2012-09-14 19:35:57 +0000
@@ -29,7 +29,6 @@
#include <unistd.h>
#include <sys/param.h>
#include <stdio.h>
-#include <setjmp.h>
#include "lisp.h"
#include "systime.h"
=== modified file 'src/xterm.c'
--- src/xterm.c 2012-09-13 02:21:28 +0000
+++ src/xterm.c 2012-09-14 19:35:57 +0000
@@ -22,7 +22,6 @@
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#ifdef HAVE_X_WINDOWS
@@ -47,7 +46,6 @@
#include <fcntl.h>
#include <errno.h>
-#include <setjmp.h>
#include <sys/stat.h>
/* Caused redefinition of DBL_DIG on Netbsd; seems not to be needed. */
/* #include <sys/param.h> */
next reply other threads:[~2012-09-14 19:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-14 19:44 Paul Eggert [this message]
2012-09-14 20:30 ` bug#12446: port better to POSIX hosts lacking _setjmp Eli Zaretskii
2012-09-14 21:28 ` Paul Eggert
2012-09-15 7:10 ` Paul Eggert
2012-09-15 8:08 ` Eli Zaretskii
2012-09-15 8:46 ` Paul Eggert
2012-09-15 9:41 ` Eli Zaretskii
2012-09-15 10:06 ` Paul Eggert
2012-09-15 7:12 ` Eli Zaretskii
2012-09-15 7:50 ` Paul Eggert
2012-09-15 8:28 ` Eli Zaretskii
2012-09-15 8:55 ` Paul Eggert
2012-09-15 9:44 ` Eli Zaretskii
2012-09-15 10:00 ` Paul Eggert
2012-09-15 10:27 ` Eli Zaretskii
2012-09-15 20:26 ` Paul Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50538925.3010608@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=12446@debbugs.gnu.org \
--cc=lekktu@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.