aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Nicolaescu2009-10-19 04:27:09 +0000
committerDan Nicolaescu2009-10-19 04:27:09 +0000
commitd7306fe6b15ccdc49a066c05e5e86df8e005e859 (patch)
tree94c95272d2541ca995105e2b64e96470be9702af /src
parenta9e7f03da3de5df3c3d0563caf4d408ad0858de5 (diff)
downloademacs-d7306fe6b15ccdc49a066c05e5e86df8e005e859.tar.gz
emacs-d7306fe6b15ccdc49a066c05e5e86df8e005e859.zip
* alloc.c: Do not define struct catchtag.
* eval.c: Move struct catchtag definition ... * lisp.h: ... here. * image.c: Move png.h #include earlier to avoid warnings. * xterm.c: * xsmfns.c: * xselect.c: * xrdb.c: * xmenu.c: * xftfont.c: * xfont.c: * xfns.c: * xfaces.c: * xdisp.c: * window.c: * widget.c: * w32xfns.c: * w32uniscribe.c: * w32term.c: * w32select.c: * w32reg.c: * w32proc.c: * w32menu.c: * w32inevt.c: * w32heap.c: * w32font.c: * w32fns.c: * w32console.c: * w32.c: * w16select.c: * vm-limit.c: * unexsol.c: * unexec.c: * unexcw.c: * unexaix.c: * undo.c: * tparam.c: * textprop.c: * terminfo.c: * terminal.c: * termcap.c: * term.c: * syntax.c: * sound.c: * sheap.c: * search.c: * scroll.c: * region-cache.c: * regex.c: * ralloc.c: * process.c: * print.c: * msdos.c: * minibuf.c: * menu.c: * marker.c: * macros.c: * keymap.c: * keyboard.c: * intervals.c: * insdel.c: * indent.c: * gtkutil.c: * ftxfont.c: * ftfont.c: * fringe.c: * frame.c: * fontset.c: * font.c: * fns.c: * floatfns.c: * filelock.c: * fileio.c: * emacs.c: * editfns.c: * dosfns.c: * doprnt.c: * doc.c: * dispnew.c: * dired.c: * dbusbind.c: * data.c: * composite.c: * coding.c: * cmds.c: * cm.c: * chartab.c: * charset.c: * character.c: * ccl.c: * category.c: * casetab.c: * casefiddle.c: * callproc.c: * callint.c: * bytecode.c: * buffer.c: * atimer.c: Include setjmp.h. (Bug#4643) * xlwmenu.c: * lwlib.c: * lwlib-utils.c: * lwlib-Xm.c: * lwlib-Xlw.c: * lwlib-Xaw.c: Include setjmp.h.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog103
-rw-r--r--src/alloc.c8
-rw-r--r--src/atimer.c1
-rw-r--r--src/buffer.c1
-rw-r--r--src/bytecode.c1
-rw-r--r--src/callint.c1
-rw-r--r--src/callproc.c1
-rw-r--r--src/casefiddle.c1
-rw-r--r--src/casetab.c1
-rw-r--r--src/category.c1
-rw-r--r--src/ccl.c1
-rw-r--r--src/character.c1
-rw-r--r--src/charset.c1
-rw-r--r--src/chartab.c1
-rw-r--r--src/cm.c1
-rw-r--r--src/cmds.c1
-rw-r--r--src/coding.c1
-rw-r--r--src/composite.c1
-rw-r--r--src/data.c1
-rw-r--r--src/dbusbind.c1
-rw-r--r--src/dired.c1
-rw-r--r--src/dispnew.c1
-rw-r--r--src/doc.c1
-rw-r--r--src/doprnt.c1
-rw-r--r--src/dosfns.c1
-rw-r--r--src/editfns.c1
-rw-r--r--src/emacs.c1
-rw-r--r--src/eval.c37
-rw-r--r--src/fileio.c1
-rw-r--r--src/filelock.c1
-rw-r--r--src/floatfns.c1
-rw-r--r--src/fns.c1
-rw-r--r--src/font.c1
-rw-r--r--src/fontset.c1
-rw-r--r--src/frame.c1
-rw-r--r--src/fringe.c1
-rw-r--r--src/ftfont.c1
-rw-r--r--src/ftxfont.c1
-rw-r--r--src/gtkutil.c1
-rw-r--r--src/image.c14
-rw-r--r--src/indent.c1
-rw-r--r--src/insdel.c1
-rw-r--r--src/intervals.c1
-rw-r--r--src/keyboard.c1
-rw-r--r--src/keymap.c1
-rw-r--r--src/lisp.h35
-rw-r--r--src/macros.c1
-rw-r--r--src/marker.c1
-rw-r--r--src/menu.c1
-rw-r--r--src/minibuf.c1
-rw-r--r--src/msdos.c1
-rw-r--r--src/print.c1
-rw-r--r--src/process.c2
-rw-r--r--src/ralloc.c1
-rw-r--r--src/regex.c1
-rw-r--r--src/region-cache.c1
-rw-r--r--src/scroll.c1
-rw-r--r--src/search.c1
-rw-r--r--src/sheap.c1
-rw-r--r--src/sound.c1
-rw-r--r--src/syntax.c1
-rw-r--r--src/term.c1
-rw-r--r--src/termcap.c1
-rw-r--r--src/terminal.c1
-rw-r--r--src/terminfo.c1
-rw-r--r--src/textprop.c1
-rw-r--r--src/tparam.c1
-rw-r--r--src/undo.c1
-rw-r--r--src/unexaix.c1
-rw-r--r--src/unexcw.c1
-rw-r--r--src/unexec.c1
-rw-r--r--src/unexsol.c1
-rw-r--r--src/vm-limit.c1
-rw-r--r--src/w16select.c1
-rw-r--r--src/w32.c1
-rw-r--r--src/w32console.c1
-rw-r--r--src/w32fns.c1
-rw-r--r--src/w32font.c1
-rw-r--r--src/w32heap.c1
-rw-r--r--src/w32inevt.c1
-rw-r--r--src/w32menu.c1
-rw-r--r--src/w32proc.c1
-rw-r--r--src/w32reg.c1
-rw-r--r--src/w32select.c1
-rw-r--r--src/w32term.c1
-rw-r--r--src/w32uniscribe.c1
-rw-r--r--src/w32xfns.c1
-rw-r--r--src/widget.c1
-rw-r--r--src/window.c1
-rw-r--r--src/xdisp.c1
-rw-r--r--src/xfaces.c1
-rw-r--r--src/xfns.c1
-rw-r--r--src/xfont.c1
-rw-r--r--src/xftfont.c1
-rw-r--r--src/xmenu.c1
-rw-r--r--src/xrdb.c1
-rw-r--r--src/xselect.c1
-rw-r--r--src/xsmfns.c1
-rw-r--r--src/xterm.c1
99 files changed, 243 insertions, 49 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7d4c0a2fc95..51c01fbc199 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,106 @@
12009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * alloc.c: Do not define struct catchtag.
4 * eval.c: Move struct catchtag definition ...
5 * lisp.h: ... here.
6
7 * image.c: Move png.h #include earlier to avoid warnings.
8
9 * xterm.c:
10 * xsmfns.c:
11 * xselect.c:
12 * xrdb.c:
13 * xmenu.c:
14 * xftfont.c:
15 * xfont.c:
16 * xfns.c:
17 * xfaces.c:
18 * xdisp.c:
19 * window.c:
20 * widget.c:
21 * w32xfns.c:
22 * w32uniscribe.c:
23 * w32term.c:
24 * w32select.c:
25 * w32reg.c:
26 * w32proc.c:
27 * w32menu.c:
28 * w32inevt.c:
29 * w32heap.c:
30 * w32font.c:
31 * w32fns.c:
32 * w32console.c:
33 * w32.c:
34 * w16select.c:
35 * vm-limit.c:
36 * unexsol.c:
37 * unexec.c:
38 * unexcw.c:
39 * unexaix.c:
40 * undo.c:
41 * tparam.c:
42 * textprop.c:
43 * terminfo.c:
44 * terminal.c:
45 * termcap.c:
46 * term.c:
47 * syntax.c:
48 * sound.c:
49 * sheap.c:
50 * search.c:
51 * scroll.c:
52 * region-cache.c:
53 * regex.c:
54 * ralloc.c:
55 * process.c:
56 * print.c:
57 * msdos.c:
58 * minibuf.c:
59 * menu.c:
60 * marker.c:
61 * macros.c:
62 * keymap.c:
63 * keyboard.c:
64 * intervals.c:
65 * insdel.c:
66 * indent.c:
67 * gtkutil.c:
68 * ftxfont.c:
69 * ftfont.c:
70 * fringe.c:
71 * frame.c:
72 * fontset.c:
73 * font.c:
74 * fns.c:
75 * floatfns.c:
76 * filelock.c:
77 * fileio.c:
78 * emacs.c:
79 * editfns.c:
80 * dosfns.c:
81 * doprnt.c:
82 * doc.c:
83 * dispnew.c:
84 * dired.c:
85 * dbusbind.c:
86 * data.c:
87 * composite.c:
88 * coding.c:
89 * cmds.c:
90 * cm.c:
91 * chartab.c:
92 * charset.c:
93 * character.c:
94 * ccl.c:
95 * category.c:
96 * casetab.c:
97 * casefiddle.c:
98 * callproc.c:
99 * callint.c:
100 * bytecode.c:
101 * buffer.c:
102 * atimer.c: Include setjmp.h. (Bug#4643)
103
12009-10-18 Stefan Monnier <monnier@iro.umontreal.ca> 1042009-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
2 105
3 Remove leftover table unibyte_to_multibyte_table. 106 Remove leftover table unibyte_to_multibyte_table.
diff --git a/src/alloc.c b/src/alloc.c
index d11eff3d387..557621af797 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <limits.h> /* For CHAR_BIT. */ 23#include <limits.h> /* For CHAR_BIT. */
24#include <setjmp.h>
24 25
25#ifdef STDC_HEADERS 26#ifdef STDC_HEADERS
26#include <stddef.h> /* For offsetof, used by PSEUDOVECSIZE. */ 27#include <stddef.h> /* For offsetof, used by PSEUDOVECSIZE. */
@@ -4939,13 +4940,6 @@ staticpro (varaddress)
4939 abort (); 4940 abort ();
4940} 4941}
4941 4942
4942struct catchtag
4943{
4944 Lisp_Object tag;
4945 Lisp_Object val;
4946 struct catchtag *next;
4947};
4948
4949 4943
4950/*********************************************************************** 4944/***********************************************************************
4951 Protection from GC 4945 Protection from GC
diff --git a/src/atimer.c b/src/atimer.c
index 4fc593b6d73..308d4688d7b 100644
--- a/src/atimer.c
+++ b/src/atimer.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20#include <config.h> 20#include <config.h>
21#include <signal.h> 21#include <signal.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <setjmp.h>
23#include <lisp.h> 24#include <lisp.h>
24#include <syssignal.h> 25#include <syssignal.h>
25#include <systime.h> 26#include <systime.h>
diff --git a/src/buffer.c b/src/buffer.c
index d74a40ac4f5..2fc7a8b3a7c 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#include <sys/param.h> 26#include <sys/param.h>
27#include <errno.h> 27#include <errno.h>
28#include <stdio.h> 28#include <stdio.h>
29#include <setjmp.h>
29 30
30#ifndef USE_CRT_DLL 31#ifndef USE_CRT_DLL
31extern int errno; 32extern int errno;
diff --git a/src/bytecode.c b/src/bytecode.c
index 0335af81860..4a1e2da3556 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -34,6 +34,7 @@ by Hallvard:
34 */ 34 */
35 35
36#include <config.h> 36#include <config.h>
37#include <setjmp.h>
37#include "lisp.h" 38#include "lisp.h"
38#include "buffer.h" 39#include "buffer.h"
39#include "character.h" 40#include "character.h"
diff --git a/src/callint.c b/src/callint.c
index 074f9c0fc5b..a9f8f231462 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23 24
24#include "lisp.h" 25#include "lisp.h"
25#include "buffer.h" 26#include "buffer.h"
diff --git a/src/callproc.c b/src/callproc.c
index 14d1ac0b3d6..b1918b9cd5e 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <signal.h> 23#include <signal.h>
24#include <errno.h> 24#include <errno.h>
25#include <stdio.h> 25#include <stdio.h>
26#include <setjmp.h>
26 27
27#ifndef USE_CRT_DLL 28#ifndef USE_CRT_DLL
28extern int errno; 29extern int errno;
diff --git a/src/casefiddle.c b/src/casefiddle.c
index f01faa01198..112198b3225 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20 20
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include "lisp.h" 23#include "lisp.h"
23#include "buffer.h" 24#include "buffer.h"
24#include "character.h" 25#include "character.h"
diff --git a/src/casetab.c b/src/casetab.c
index 95fca03584b..5ae4ee2b5f2 100644
--- a/src/casetab.c
+++ b/src/casetab.c
@@ -20,6 +20,7 @@ You should have received a copy of the GNU General Public License
20along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 20along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "buffer.h" 25#include "buffer.h"
25#include "character.h" 26#include "character.h"
diff --git a/src/category.c b/src/category.c
index 84af413120f..babed58c7fe 100644
--- a/src/category.c
+++ b/src/category.c
@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30 30
31#include <config.h> 31#include <config.h>
32#include <ctype.h> 32#include <ctype.h>
33#include <setjmp.h>
33#include "lisp.h" 34#include "lisp.h"
34#include "buffer.h" 35#include "buffer.h"
35#include "character.h" 36#include "character.h"
diff --git a/src/ccl.c b/src/ccl.c
index f110291ac72..03600158049 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27#include <config.h> 27#include <config.h>
28 28
29#include <stdio.h> 29#include <stdio.h>
30#include <setjmp.h>
30 31
31#include "lisp.h" 32#include "lisp.h"
32#include "character.h" 33#include "character.h"
diff --git a/src/character.c b/src/character.c
index e2896444c25..bfe99766bc8 100644
--- a/src/character.c
+++ b/src/character.c
@@ -34,6 +34,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34#ifdef emacs 34#ifdef emacs
35 35
36#include <sys/types.h> 36#include <sys/types.h>
37#include <setjmp.h>
37#include "lisp.h" 38#include "lisp.h"
38#include "character.h" 39#include "character.h"
39#include "buffer.h" 40#include "buffer.h"
diff --git a/src/charset.c b/src/charset.c
index 7ca9240d74f..cfdf95565a7 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31#include <unistd.h> 31#include <unistd.h>
32#include <ctype.h> 32#include <ctype.h>
33#include <sys/types.h> 33#include <sys/types.h>
34#include <setjmp.h>
34#include "lisp.h" 35#include "lisp.h"
35#include "character.h" 36#include "character.h"
36#include "charset.h" 37#include "charset.h"
diff --git a/src/chartab.c b/src/chartab.c
index 30f7e8bef2c..79906c38fd7 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include "lisp.h" 23#include "lisp.h"
23#include "character.h" 24#include "character.h"
24#include "charset.h" 25#include "charset.h"
diff --git a/src/cm.c b/src/cm.c
index 563a488c43b..4077073f9f4 100644
--- a/src/cm.c
+++ b/src/cm.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24 25
25#include "lisp.h" 26#include "lisp.h"
26#include "frame.h" 27#include "frame.h"
diff --git a/src/cmds.c b/src/cmds.c
index 19073dccf4a..5b5c6de817e 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "commands.h" 25#include "commands.h"
25#include "buffer.h" 26#include "buffer.h"
diff --git a/src/coding.c b/src/coding.c
index 405284f778b..678bafaa9ea 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -289,6 +289,7 @@ encode_coding_XXX (coding)
289 289
290#include <config.h> 290#include <config.h>
291#include <stdio.h> 291#include <stdio.h>
292#include <setjmp.h>
292 293
293#include "lisp.h" 294#include "lisp.h"
294#include "buffer.h" 295#include "buffer.h"
diff --git a/src/composite.c b/src/composite.c
index cd84f3932b0..a654b5e8088 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -24,6 +24,7 @@ You should have received a copy of the GNU General Public License
24along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 24along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25 25
26#include <config.h> 26#include <config.h>
27#include <setjmp.h>
27#include "lisp.h" 28#include "lisp.h"
28#include "buffer.h" 29#include "buffer.h"
29#include "character.h" 30#include "character.h"
diff --git a/src/data.c b/src/data.c
index 96e29a6c283..6d469e161db 100644
--- a/src/data.c
+++ b/src/data.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <config.h> 22#include <config.h>
23#include <signal.h> 23#include <signal.h>
24#include <stdio.h> 24#include <stdio.h>
25#include <setjmp.h>
25#include "lisp.h" 26#include "lisp.h"
26#include "puresize.h" 27#include "puresize.h"
27#include "character.h" 28#include "character.h"
diff --git a/src/dbusbind.c b/src/dbusbind.c
index f4a5c6887d8..86ec866ac6a 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <stdlib.h> 22#include <stdlib.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <dbus/dbus.h> 24#include <dbus/dbus.h>
25#include <setjmp.h>
25#include "lisp.h" 26#include "lisp.h"
26#include "frame.h" 27#include "frame.h"
27#include "termhooks.h" 28#include "termhooks.h"
diff --git a/src/dired.c b/src/dired.c
index 10d8782d023..67002d32eb7 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <stdio.h> 23#include <stdio.h>
24#include <sys/types.h> 24#include <sys/types.h>
25#include <sys/stat.h> 25#include <sys/stat.h>
26#include <setjmp.h>
26 27
27#ifdef HAVE_PWD_H 28#ifdef HAVE_PWD_H
28#include <pwd.h> 29#include <pwd.h>
diff --git a/src/dispnew.c b/src/dispnew.c
index e43a1a9869e..ba50b001980 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <signal.h> 22#include <signal.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <setjmp.h>
25 26
26#ifdef HAVE_UNISTD_H 27#ifdef HAVE_UNISTD_H
27#include <unistd.h> 28#include <unistd.h>
diff --git a/src/doc.c b/src/doc.c
index 71308e6904f..6a53e0d3f74 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include <sys/types.h> 24#include <sys/types.h>
25#include <sys/file.h> /* Must be after sys/types.h for USG*/ 25#include <sys/file.h> /* Must be after sys/types.h for USG*/
26#include <ctype.h> 26#include <ctype.h>
27#include <setjmp.h>
27 28
28#ifdef HAVE_FCNTL_H 29#ifdef HAVE_FCNTL_H
29#include <fcntl.h> 30#include <fcntl.h>
diff --git a/src/doprnt.c b/src/doprnt.c
index 95d6b789c4f..2d5b893dd20 100644
--- a/src/doprnt.c
+++ b/src/doprnt.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <config.h> 23#include <config.h>
24#include <stdio.h> 24#include <stdio.h>
25#include <ctype.h> 25#include <ctype.h>
26#include <setjmp.h>
26 27
27#ifdef STDC_HEADERS 28#ifdef STDC_HEADERS
28#include <float.h> 29#include <float.h>
diff --git a/src/dosfns.c b/src/dosfns.c
index 62594f1671f..30daed3077a 100644
--- a/src/dosfns.c
+++ b/src/dosfns.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#include <stdio.h> 26#include <stdio.h>
27#include <string.h> 27#include <string.h>
28#include <dos.h> 28#include <dos.h>
29#include <setjmp.h>
29#include "lisp.h" 30#include "lisp.h"
30#include "buffer.h" 31#include "buffer.h"
31#include "termchar.h" 32#include "termchar.h"
diff --git a/src/editfns.c b/src/editfns.c
index 859e3965824..8dfea1f595c 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <config.h> 22#include <config.h>
23#include <sys/types.h> 23#include <sys/types.h>
24#include <stdio.h> 24#include <stdio.h>
25#include <setjmp.h>
25 26
26#ifdef HAVE_PWD_H 27#ifdef HAVE_PWD_H
27#include <pwd.h> 28#include <pwd.h>
diff --git a/src/emacs.c b/src/emacs.c
index 1afcd08fb68..2724aeefd48 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26 26
27#include <sys/types.h> 27#include <sys/types.h>
28#include <sys/file.h> 28#include <sys/file.h>
29#include <setjmp.h>
29 30
30#ifdef HAVE_UNISTD_H 31#ifdef HAVE_UNISTD_H
31#include <unistd.h> 32#include <unistd.h>
diff --git a/src/eval.c b/src/eval.c
index 20988392e5f..4611731a65e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -20,12 +20,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "blockinput.h" 25#include "blockinput.h"
25#include "commands.h" 26#include "commands.h"
26#include "keyboard.h" 27#include "keyboard.h"
27#include "dispextern.h" 28#include "dispextern.h"
28#include <setjmp.h>
29 29
30#if HAVE_X_WINDOWS 30#if HAVE_X_WINDOWS
31#include "xterm.h" 31#include "xterm.h"
@@ -49,41 +49,6 @@ struct backtrace
49 49
50struct backtrace *backtrace_list; 50struct backtrace *backtrace_list;
51 51
52/* This structure helps implement the `catch' and `throw' control
53 structure. A struct catchtag contains all the information needed
54 to restore the state of the interpreter after a non-local jump.
55
56 Handlers for error conditions (represented by `struct handler'
57 structures) just point to a catch tag to do the cleanup required
58 for their jumps.
59
60 catchtag structures are chained together in the C calling stack;
61 the `next' member points to the next outer catchtag.
62
63 A call like (throw TAG VAL) searches for a catchtag whose `tag'
64 member is TAG, and then unbinds to it. The `val' member is used to
65 hold VAL while the stack is unwound; `val' is returned as the value
66 of the catch form.
67
68 All the other members are concerned with restoring the interpreter
69 state. */
70
71struct catchtag
72{
73 Lisp_Object tag;
74 Lisp_Object val;
75 struct catchtag *next;
76 struct gcpro *gcpro;
77 jmp_buf jmp;
78 struct backtrace *backlist;
79 struct handler *handlerlist;
80 int lisp_eval_depth;
81 int pdlcount;
82 int poll_suppress_count;
83 int interrupt_input_blocked;
84 struct byte_stack *byte_stack;
85};
86
87struct catchtag *catchlist; 52struct catchtag *catchlist;
88 53
89#ifdef DEBUG_GCPRO 54#ifdef DEBUG_GCPRO
diff --git a/src/fileio.c b/src/fileio.c
index cfe1f54382e..b83ef6fe45c 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28#include <stdio.h> 28#include <stdio.h>
29#include <sys/types.h> 29#include <sys/types.h>
30#include <sys/stat.h> 30#include <sys/stat.h>
31#include <setjmp.h>
31 32
32#ifdef HAVE_UNISTD_H 33#ifdef HAVE_UNISTD_H
33#include <unistd.h> 34#include <unistd.h>
diff --git a/src/filelock.c b/src/filelock.c
index c845a804ae3..bed0057dcbd 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include <sys/stat.h> 24#include <sys/stat.h>
25#include <signal.h> 25#include <signal.h>
26#include <stdio.h> 26#include <stdio.h>
27#include <setjmp.h>
27 28
28#ifdef HAVE_PWD_H 29#ifdef HAVE_PWD_H
29#include <pwd.h> 30#include <pwd.h>
diff --git a/src/floatfns.c b/src/floatfns.c
index 15077efae6c..5aaf5f7badb 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -48,6 +48,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
48 48
49#include <config.h> 49#include <config.h>
50#include <signal.h> 50#include <signal.h>
51#include <setjmp.h>
51#include "lisp.h" 52#include "lisp.h"
52#include "syssignal.h" 53#include "syssignal.h"
53 54
diff --git a/src/fns.c b/src/fns.c
index e1431251e24..be5d9a9b43e 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include <unistd.h> 24#include <unistd.h>
25#endif 25#endif
26#include <time.h> 26#include <time.h>
27#include <setjmp.h>
27 28
28/* Note on some machines this defines `vector' as a typedef, 29/* Note on some machines this defines `vector' as a typedef,
29 so make sure we don't use that name in this file. */ 30 so make sure we don't use that name in this file. */
diff --git a/src/font.c b/src/font.c
index 2e5db2d8f10..6e33b9bec55 100644
--- a/src/font.c
+++ b/src/font.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <stdio.h> 23#include <stdio.h>
24#include <stdlib.h> 24#include <stdlib.h>
25#include <ctype.h> 25#include <ctype.h>
26#include <setjmp.h>
26 27
27#include "lisp.h" 28#include "lisp.h"
28#include "buffer.h" 29#include "buffer.h"
diff --git a/src/fontset.c b/src/fontset.c
index 35e186b3c3b..cba84dc2458 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28 28
29#include <config.h> 29#include <config.h>
30#include <stdio.h> 30#include <stdio.h>
31#include <setjmp.h>
31 32
32#include "lisp.h" 33#include "lisp.h"
33#include "blockinput.h" 34#include "blockinput.h"
diff --git a/src/frame.c b/src/frame.c
index 47e084eb896..a66d4dd57eb 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <stdio.h> 22#include <stdio.h>
23#include <ctype.h> 23#include <ctype.h>
24#include <setjmp.h>
24#include "lisp.h" 25#include "lisp.h"
25#include "character.h" 26#include "character.h"
26#ifdef HAVE_X_WINDOWS 27#ifdef HAVE_X_WINDOWS
diff --git a/src/fringe.c b/src/fringe.c
index 41fc24d1150..df62bee0edc 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <setjmp.h>
23 24
24#include "lisp.h" 25#include "lisp.h"
25#include "frame.h" 26#include "frame.h"
diff --git a/src/ftfont.c b/src/ftfont.c
index 367b796a212..ed9cb6f19d2 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24 25
25#include <fontconfig/fontconfig.h> 26#include <fontconfig/fontconfig.h>
26#include <fontconfig/fcfreetype.h> 27#include <fontconfig/fcfreetype.h>
diff --git a/src/ftxfont.c b/src/ftxfont.c
index 2cf45bb27a0..1f97a94e94f 100644
--- a/src/ftxfont.c
+++ b/src/ftxfont.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24#include <X11/Xlib.h> 25#include <X11/Xlib.h>
25 26
26#include "lisp.h" 27#include "lisp.h"
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 9da2c7e9cbe..8aa877a8f83 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <string.h> 23#include <string.h>
24#include <signal.h> 24#include <signal.h>
25#include <stdio.h> 25#include <stdio.h>
26#include <setjmp.h>
26#include "lisp.h" 27#include "lisp.h"
27#include "xterm.h" 28#include "xterm.h"
28#include "blockinput.h" 29#include "blockinput.h"
diff --git a/src/image.c b/src/image.c
index fa4eecd040b..d35bd83e6a4 100644
--- a/src/image.c
+++ b/src/image.c
@@ -27,6 +27,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27#include <unistd.h> 27#include <unistd.h>
28#endif 28#endif
29 29
30#ifdef HAVE_PNG
31#if defined HAVE_LIBPNG_PNG_H
32# include <libpng/png.h>
33#else
34# include <png.h>
35#endif
36#endif
37
30/* This makes the fields of a Display accessible, in Xlib header files. */ 38/* This makes the fields of a Display accessible, in Xlib header files. */
31 39
32#define XLIB_ILLEGAL_ACCESS 40#define XLIB_ILLEGAL_ACCESS
@@ -5787,12 +5795,6 @@ png_image_p (object)
5787 5795
5788#ifdef HAVE_PNG 5796#ifdef HAVE_PNG
5789 5797
5790#if defined HAVE_LIBPNG_PNG_H
5791# include <libpng/png.h>
5792#else
5793# include <png.h>
5794#endif
5795
5796#ifdef HAVE_NTGUI 5798#ifdef HAVE_NTGUI
5797/* PNG library details. */ 5799/* PNG library details. */
5798 5800
diff --git a/src/indent.c b/src/indent.c
index f10b235427e..5a73fa1b211 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <setjmp.h>
23 24
24#include "lisp.h" 25#include "lisp.h"
25#include "buffer.h" 26#include "buffer.h"
diff --git a/src/insdel.c b/src/insdel.c
index b09bed66d55..27901164842 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "intervals.h" 25#include "intervals.h"
25#include "buffer.h" 26#include "buffer.h"
diff --git a/src/intervals.c b/src/intervals.c
index ee18dd5b4be..bb6023337f2 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -39,6 +39,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
39 39
40 40
41#include <config.h> 41#include <config.h>
42#include <setjmp.h>
42#include "lisp.h" 43#include "lisp.h"
43#include "intervals.h" 44#include "intervals.h"
44#include "buffer.h" 45#include "buffer.h"
diff --git a/src/keyboard.c b/src/keyboard.c
index 396f22fa7a1..de4e1c5647e 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <config.h> 21#include <config.h>
22#include <signal.h> 22#include <signal.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24#include "lisp.h" 25#include "lisp.h"
25#include "termchar.h" 26#include "termchar.h"
26#include "termopts.h" 27#include "termopts.h"
diff --git a/src/keymap.c b/src/keymap.c
index e4f68d386de..d050191dc4e 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24#if HAVE_ALLOCA_H 25#if HAVE_ALLOCA_H
25# include <alloca.h> 26# include <alloca.h>
26#endif 27#endif
diff --git a/src/lisp.h b/src/lisp.h
index 6751898e163..4685578a417 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1826,6 +1826,41 @@ struct handler
1826 1826
1827extern struct handler *handlerlist; 1827extern struct handler *handlerlist;
1828 1828
1829/* This structure helps implement the `catch' and `throw' control
1830 structure. A struct catchtag contains all the information needed
1831 to restore the state of the interpreter after a non-local jump.
1832
1833 Handlers for error conditions (represented by `struct handler'
1834 structures) just point to a catch tag to do the cleanup required
1835 for their jumps.
1836
1837 catchtag structures are chained together in the C calling stack;
1838 the `next' member points to the next outer catchtag.
1839
1840 A call like (throw TAG VAL) searches for a catchtag whose `tag'
1841 member is TAG, and then unbinds to it. The `val' member is used to
1842 hold VAL while the stack is unwound; `val' is returned as the value
1843 of the catch form.
1844
1845 All the other members are concerned with restoring the interpreter
1846 state. */
1847
1848struct catchtag
1849{
1850 Lisp_Object tag;
1851 Lisp_Object val;
1852 struct catchtag *next;
1853 struct gcpro *gcpro;
1854 jmp_buf jmp;
1855 struct backtrace *backlist;
1856 struct handler *handlerlist;
1857 int lisp_eval_depth;
1858 int pdlcount;
1859 int poll_suppress_count;
1860 int interrupt_input_blocked;
1861 struct byte_stack *byte_stack;
1862};
1863
1829extern struct catchtag *catchlist; 1864extern struct catchtag *catchlist;
1830extern struct backtrace *backtrace_list; 1865extern struct backtrace *backtrace_list;
1831 1866
diff --git a/src/macros.c b/src/macros.c
index c6ae0defa63..0d69b9203cf 100644
--- a/src/macros.c
+++ b/src/macros.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20 20
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include "lisp.h" 23#include "lisp.h"
23#include "macros.h" 24#include "macros.h"
24#include "commands.h" 25#include "commands.h"
diff --git a/src/marker.c b/src/marker.c
index dbaaf872c2c..fd2b8b91087 100644
--- a/src/marker.c
+++ b/src/marker.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20 20
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include "lisp.h" 23#include "lisp.h"
23#include "buffer.h" 24#include "buffer.h"
24#include "character.h" 25#include "character.h"
diff --git a/src/menu.c b/src/menu.c
index 5331cbc3144..74d455a8c0a 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20#include <config.h> 20#include <config.h>
21#include <stdio.h> 21#include <stdio.h>
22#include <setjmp.h>
22 23
23#include "lisp.h" 24#include "lisp.h"
24#include "keyboard.h" 25#include "keyboard.h"
diff --git a/src/minibuf.c b/src/minibuf.c
index 138581fb835..fc876370a2d 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24 25
25#include "lisp.h" 26#include "lisp.h"
26#include "commands.h" 27#include "commands.h"
diff --git a/src/msdos.c b/src/msdos.c
index 9783e8ce16a..b6820b50f2c 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#include <config.h> 26#include <config.h>
27 27
28#ifdef MSDOS 28#ifdef MSDOS
29#include <setjmp.h>
29#include "lisp.h" 30#include "lisp.h"
30#include <stdio.h> 31#include <stdio.h>
31#include <stdlib.h> 32#include <stdlib.h>
diff --git a/src/print.c b/src/print.c
index 5eee386cab7..f90ec27a0a4 100644
--- a/src/print.c
+++ b/src/print.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24#include "lisp.h" 25#include "lisp.h"
25#include "buffer.h" 26#include "buffer.h"
26#include "character.h" 27#include "character.h"
diff --git a/src/process.c b/src/process.c
index 99f57d35d4a..b405f1ef690 100644
--- a/src/process.c
+++ b/src/process.c
@@ -38,6 +38,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
38#include <sys/types.h> /* some typedefs are used in sys/file.h */ 38#include <sys/types.h> /* some typedefs are used in sys/file.h */
39#include <sys/file.h> 39#include <sys/file.h>
40#include <sys/stat.h> 40#include <sys/stat.h>
41#include <setjmp.h>
41#ifdef HAVE_INTTYPES_H 42#ifdef HAVE_INTTYPES_H
42#include <inttypes.h> 43#include <inttypes.h>
43#endif 44#endif
@@ -7641,6 +7642,7 @@ The variable takes effect when `start-process' is called. */);
7641#include <sys/stat.h> 7642#include <sys/stat.h>
7642#include <stdlib.h> 7643#include <stdlib.h>
7643#include <fcntl.h> 7644#include <fcntl.h>
7645#include <setjmp.h>
7644#ifdef HAVE_UNISTD_H 7646#ifdef HAVE_UNISTD_H
7645#include <unistd.h> 7647#include <unistd.h>
7646#endif 7648#endif
diff --git a/src/ralloc.c b/src/ralloc.c
index f5ebb8449ca..6faee2cac89 100644
--- a/src/ralloc.c
+++ b/src/ralloc.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#ifdef emacs 26#ifdef emacs
27 27
28#include <config.h> 28#include <config.h>
29#include <setjmp.h>
29#include "lisp.h" /* Needed for VALBITS. */ 30#include "lisp.h" /* Needed for VALBITS. */
30#include "blockinput.h" 31#include "blockinput.h"
31 32
diff --git a/src/regex.c b/src/regex.c
index 0c9e137aca0..ac7b7510a67 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -117,6 +117,7 @@
117 that make sense only in Emacs. */ 117 that make sense only in Emacs. */
118#ifdef emacs 118#ifdef emacs
119 119
120# include <setjmp.h>
120# include "lisp.h" 121# include "lisp.h"
121# include "buffer.h" 122# include "buffer.h"
122 123
diff --git a/src/region-cache.c b/src/region-cache.c
index 1f1df5fc168..22caf6ebf0d 100644
--- a/src/region-cache.c
+++ b/src/region-cache.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <setjmp.h>
23 24
24#include "lisp.h" 25#include "lisp.h"
25#include "buffer.h" 26#include "buffer.h"
diff --git a/src/scroll.c b/src/scroll.c
index 4d57a2a9b8b..c7c2630403b 100644
--- a/src/scroll.c
+++ b/src/scroll.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <string.h> 23#include <string.h>
24#include <setjmp.h>
24#include "lisp.h" 25#include "lisp.h"
25#include "termchar.h" 26#include "termchar.h"
26#include "dispextern.h" 27#include "dispextern.h"
diff --git a/src/search.c b/src/search.c
index e6ae4b660b6..8bfe61d5f6d 100644
--- a/src/search.c
+++ b/src/search.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "syntax.h" 25#include "syntax.h"
25#include "category.h" 26#include "category.h"
diff --git a/src/sheap.c b/src/sheap.c
index 96511e68f45..5e327764efe 100644
--- a/src/sheap.c
+++ b/src/sheap.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24 25
25#include <unistd.h> 26#include <unistd.h>
diff --git a/src/sound.c b/src/sound.c
index 58a8a9c4653..6f1f5385978 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -44,6 +44,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
44#include <unistd.h> 44#include <unistd.h>
45#include <sys/types.h> 45#include <sys/types.h>
46#include <errno.h> 46#include <errno.h>
47#include <setjmp.h>
47#include "lisp.h" 48#include "lisp.h"
48#include "dispextern.h" 49#include "dispextern.h"
49#include "atimer.h" 50#include "atimer.h"
diff --git a/src/syntax.c b/src/syntax.c
index 3c5a21de5c7..048f0ee6637 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <ctype.h> 23#include <ctype.h>
24#include <setjmp.h>
24#include "lisp.h" 25#include "lisp.h"
25#include "commands.h" 26#include "commands.h"
26#include "buffer.h" 27#include "buffer.h"
diff --git a/src/term.c b/src/term.c
index 9e18df3160e..d860a932357 100644
--- a/src/term.c
+++ b/src/term.c
@@ -37,6 +37,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
37 37
38#include <signal.h> 38#include <signal.h>
39#include <stdarg.h> 39#include <stdarg.h>
40#include <setjmp.h>
40 41
41#include "lisp.h" 42#include "lisp.h"
42#include "termchar.h" 43#include "termchar.h"
diff --git a/src/termcap.c b/src/termcap.c
index 2ad31d7b96a..46254c67c1c 100644
--- a/src/termcap.c
+++ b/src/termcap.c
@@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. */
24 24
25#ifdef emacs 25#ifdef emacs
26 26
27#include <setjmp.h>
27#include <lisp.h> /* xmalloc is here */ 28#include <lisp.h> /* xmalloc is here */
28/* Get the O_* definitions for open et al. */ 29/* Get the O_* definitions for open et al. */
29#include <sys/file.h> 30#include <sys/file.h>
diff --git a/src/terminal.c b/src/terminal.c
index d9951dba464..c89f2e60005 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -18,6 +18,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
18 18
19#include <config.h> 19#include <config.h>
20#include <stdio.h> 20#include <stdio.h>
21#include <setjmp.h>
21 22
22#include "lisp.h" 23#include "lisp.h"
23#include "frame.h" 24#include "frame.h"
diff --git a/src/terminfo.c b/src/terminfo.c
index 9b6b76b9f7f..03187c65e8f 100644
--- a/src/terminfo.c
+++ b/src/terminfo.c
@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20#include <config.h> 20#include <config.h>
21#include <setjmp.h>
21#include "lisp.h" 22#include "lisp.h"
22 23
23/* Define these variables that serve as global parameters to termcap, 24/* Define these variables that serve as global parameters to termcap,
diff --git a/src/textprop.c b/src/textprop.c
index 0018088b63e..e82af12d90a 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20#include <config.h> 20#include <config.h>
21#include <setjmp.h>
21#include "lisp.h" 22#include "lisp.h"
22#include "intervals.h" 23#include "intervals.h"
23#include "buffer.h" 24#include "buffer.h"
diff --git a/src/tparam.c b/src/tparam.c
index dabf0ed9713..dcf79a3b617 100644
--- a/src/tparam.c
+++ b/src/tparam.c
@@ -23,6 +23,7 @@ Boston, MA 02110-1301, USA. */
23#endif 23#endif
24 24
25#ifdef emacs 25#ifdef emacs
26#include <setjmp.h>
26#include "lisp.h" /* for xmalloc */ 27#include "lisp.h" /* for xmalloc */
27#else 28#else
28 29
diff --git a/src/undo.c b/src/undo.c
index 39ca983b76e..f2a37cb4083 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20 20
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include "lisp.h" 23#include "lisp.h"
23#include "buffer.h" 24#include "buffer.h"
24#include "commands.h" 25#include "commands.h"
diff --git a/src/unexaix.c b/src/unexaix.c
index c224a3626fe..5f61b5a03d2 100644
--- a/src/unexaix.c
+++ b/src/unexaix.c
@@ -104,6 +104,7 @@ static int adjust_lnnoptrs (int, int, char *);
104static int pagemask; 104static int pagemask;
105 105
106#ifdef emacs 106#ifdef emacs
107#include <setjmp.h>
107#include "lisp.h" 108#include "lisp.h"
108 109
109static void 110static void
diff --git a/src/unexcw.c b/src/unexcw.c
index a7f4b6b2cf6..1e65d65007b 100644
--- a/src/unexcw.c
+++ b/src/unexcw.c
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include <lisp.h> 23#include <lisp.h>
23#include <stdio.h> 24#include <stdio.h>
24#include <fcntl.h> 25#include <fcntl.h>
diff --git a/src/unexec.c b/src/unexec.c
index a6852af7d07..c655583e306 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -204,6 +204,7 @@ static int pagemask;
204 204
205#ifdef emacs 205#ifdef emacs
206 206
207#include <setjmp.h>
207#include "lisp.h" 208#include "lisp.h"
208 209
209static 210static
diff --git a/src/unexsol.c b/src/unexsol.c
index 9f919faedc0..04e3f40799c 100644
--- a/src/unexsol.c
+++ b/src/unexsol.c
@@ -3,6 +3,7 @@
3#include <config.h> 3#include <config.h>
4#include <stdlib.h> 4#include <stdlib.h>
5#include <dlfcn.h> 5#include <dlfcn.h>
6#include <setjmp.h>
6 7
7#include "lisp.h" 8#include "lisp.h"
8#include "buffer.h" 9#include "buffer.h"
diff --git a/src/vm-limit.c b/src/vm-limit.c
index 5abf048913a..06e99c638dd 100644
--- a/src/vm-limit.c
+++ b/src/vm-limit.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20#ifdef emacs 20#ifdef emacs
21#include <config.h> 21#include <config.h>
22#include <setjmp.h>
22#include "lisp.h" 23#include "lisp.h"
23#endif 24#endif
24 25
diff --git a/src/w16select.c b/src/w16select.c
index 91ce8f13f1c..4d2476030e5 100644
--- a/src/w16select.c
+++ b/src/w16select.c
@@ -32,6 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32#include <dpmi.h> 32#include <dpmi.h>
33#include <go32.h> 33#include <go32.h>
34#include <sys/farptr.h> 34#include <sys/farptr.h>
35#include <setjmp.h>
35#include "lisp.h" 36#include "lisp.h"
36#include "dispextern.h" /* frame.h seems to want this */ 37#include "dispextern.h" /* frame.h seems to want this */
37#include "frame.h" /* Need this to get the X window of selected_frame */ 38#include "frame.h" /* Need this to get the X window of selected_frame */
diff --git a/src/w32.c b/src/w32.c
index e8b7abc082e..786f8e2a848 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -34,6 +34,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34#include <sys/utime.h> 34#include <sys/utime.h>
35#include <mbstring.h> /* for _mbspbrk */ 35#include <mbstring.h> /* for _mbspbrk */
36#include <math.h> 36#include <math.h>
37#include <setjmp.h>
37 38
38/* must include CRT headers *before* config.h */ 39/* must include CRT headers *before* config.h */
39 40
diff --git a/src/w32console.c b/src/w32console.c
index 947ff7554fc..6b96c05b2eb 100644
--- a/src/w32console.c
+++ b/src/w32console.c
@@ -29,6 +29,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
29#include <stdio.h> 29#include <stdio.h>
30#include <windows.h> 30#include <windows.h>
31#include <string.h> 31#include <string.h>
32#include <setjmp.h>
32 33
33#include "lisp.h" 34#include "lisp.h"
34#include "character.h" 35#include "character.h"
diff --git a/src/w32fns.c b/src/w32fns.c
index 8003d791719..c06fa4ea9d4 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27#include <limits.h> 27#include <limits.h>
28#include <errno.h> 28#include <errno.h>
29#include <math.h> 29#include <math.h>
30#include <setjmp.h>
30 31
31#include "lisp.h" 32#include "lisp.h"
32#include "w32term.h" 33#include "w32term.h"
diff --git a/src/w32font.c b/src/w32font.c
index 995500aa0e4..69462512ca3 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <math.h> 21#include <math.h>
22#include <ctype.h> 22#include <ctype.h>
23#include <commdlg.h> 23#include <commdlg.h>
24#include <setjmp.h>
24 25
25#include "lisp.h" 26#include "lisp.h"
26#include "w32term.h" 27#include "w32term.h"
diff --git a/src/w32heap.c b/src/w32heap.c
index efdcdfa7107..408917dda1a 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27 27
28#include <stdlib.h> 28#include <stdlib.h>
29#include <stdio.h> 29#include <stdio.h>
30#include <setjmp.h>
30 31
31#include "w32heap.h" 32#include "w32heap.h"
32#include "lisp.h" /* for VALMASK */ 33#include "lisp.h" /* for VALMASK */
diff --git a/src/w32inevt.c b/src/w32inevt.c
index ac7ca644c54..960e14de2a9 100644
--- a/src/w32inevt.c
+++ b/src/w32inevt.c
@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30#include <stdlib.h> 30#include <stdlib.h>
31#include <stdio.h> 31#include <stdio.h>
32#include <windows.h> 32#include <windows.h>
33#include <setjmp.h>
33 34
34#ifndef MOUSE_MOVED 35#ifndef MOUSE_MOVED
35#define MOUSE_MOVED 1 36#define MOUSE_MOVED 1
diff --git a/src/w32menu.c b/src/w32menu.c
index 677de1b180a..c573e3713ca 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23#include <signal.h> 23#include <signal.h>
24#include <stdio.h> 24#include <stdio.h>
25#include <mbstring.h> 25#include <mbstring.h>
26#include <setjmp.h>
26 27
27#include "lisp.h" 28#include "lisp.h"
28#include "keyboard.h" 29#include "keyboard.h"
diff --git a/src/w32proc.c b/src/w32proc.c
index 40829f0d63e..ab5c91f679e 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -29,6 +29,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
29#include <fcntl.h> 29#include <fcntl.h>
30#include <signal.h> 30#include <signal.h>
31#include <sys/file.h> 31#include <sys/file.h>
32#include <setjmp.h>
32 33
33/* must include CRT headers *before* config.h */ 34/* must include CRT headers *before* config.h */
34 35
diff --git a/src/w32reg.c b/src/w32reg.c
index 2b5b352c583..94f5196ea8d 100644
--- a/src/w32reg.c
+++ b/src/w32reg.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20/* Written by Kevin Gallo */ 20/* Written by Kevin Gallo */
21 21
22#include <config.h> 22#include <config.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "w32term.h" 25#include "w32term.h"
25#include "blockinput.h" 26#include "blockinput.h"
diff --git a/src/w32select.c b/src/w32select.c
index ce93b544126..9c67fabceec 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -73,6 +73,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
73 */ 73 */
74 74
75#include <config.h> 75#include <config.h>
76#include <setjmp.h>
76#include "lisp.h" 77#include "lisp.h"
77#include "w32term.h" /* for all of the w32 includes */ 78#include "w32term.h" /* for all of the w32 includes */
78#include "w32heap.h" /* os_subtype */ 79#include "w32heap.h" /* os_subtype */
diff --git a/src/w32term.c b/src/w32term.c
index b7642b46891..008042c810a 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <signal.h> 22#include <signal.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <stdlib.h> 24#include <stdlib.h>
25#include <setjmp.h>
25#include "lisp.h" 26#include "lisp.h"
26#include "blockinput.h" 27#include "blockinput.h"
27#include "w32term.h" 28#include "w32term.h"
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index 9e75b671616..2cb55d4c702 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27#define _WIN32_WINNT 0x500 27#define _WIN32_WINNT 0x500
28#include <windows.h> 28#include <windows.h>
29#include <usp10.h> 29#include <usp10.h>
30#include <setjmp.h>
30 31
31#include "lisp.h" 32#include "lisp.h"
32#include "w32term.h" 33#include "w32term.h"
diff --git a/src/w32xfns.c b/src/w32xfns.c
index 5bf39967e85..37ec500d554 100644
--- a/src/w32xfns.c
+++ b/src/w32xfns.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20#include <config.h> 20#include <config.h>
21#include <signal.h> 21#include <signal.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <setjmp.h>
23#include "lisp.h" 24#include "lisp.h"
24#include "keyboard.h" 25#include "keyboard.h"
25#include "frame.h" 26#include "frame.h"
diff --git a/src/widget.c b/src/widget.c
index 91072c40acd..32b3649be5d 100644
--- a/src/widget.c
+++ b/src/widget.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31 31
32#include <config.h> 32#include <config.h>
33#include <stdio.h> 33#include <stdio.h>
34#include <setjmp.h>
34#include "lisp.h" 35#include "lisp.h"
35#include "xterm.h" 36#include "xterm.h"
36 37
diff --git a/src/window.c b/src/window.c
index 9b50a85b0ca..4630b6dd90b 100644
--- a/src/window.c
+++ b/src/window.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24 25
25#include "lisp.h" 26#include "lisp.h"
26#include "buffer.h" 27#include "buffer.h"
diff --git a/src/xdisp.c b/src/xdisp.c
index a750a1b73b5..f88750447aa 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -168,6 +168,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
168#include <config.h> 168#include <config.h>
169#include <stdio.h> 169#include <stdio.h>
170#include <limits.h> 170#include <limits.h>
171#include <setjmp.h>
171 172
172#include "lisp.h" 173#include "lisp.h"
173#include "keyboard.h" 174#include "keyboard.h"
diff --git a/src/xfaces.c b/src/xfaces.c
index 4f808e41beb..f120dfcbb54 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -204,6 +204,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
204#include <sys/types.h> 204#include <sys/types.h>
205#include <sys/stat.h> 205#include <sys/stat.h>
206#include <stdio.h> /* This needs to be before termchar.h */ 206#include <stdio.h> /* This needs to be before termchar.h */
207#include <setjmp.h>
207 208
208#include "lisp.h" 209#include "lisp.h"
209#include "character.h" 210#include "character.h"
diff --git a/src/xfns.c b/src/xfns.c
index 87ff21b7759..4fc08925ebb 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21#include <config.h> 21#include <config.h>
22#include <stdio.h> 22#include <stdio.h>
23#include <math.h> 23#include <math.h>
24#include <setjmp.h>
24 25
25#ifdef HAVE_UNISTD_H 26#ifdef HAVE_UNISTD_H
26#include <unistd.h> 27#include <unistd.h>
diff --git a/src/xfont.c b/src/xfont.c
index 7db7cae5c65..36ac09fcb18 100644
--- a/src/xfont.c
+++ b/src/xfont.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <stdlib.h> 24#include <stdlib.h>
25#include <setjmp.h>
25#include <X11/Xlib.h> 26#include <X11/Xlib.h>
26 27
27#include "lisp.h" 28#include "lisp.h"
diff --git a/src/xftfont.c b/src/xftfont.c
index 2b576c3d4a2..e66b538fa15 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h>
24#include <X11/Xlib.h> 25#include <X11/Xlib.h>
25#include <X11/Xft/Xft.h> 26#include <X11/Xft/Xft.h>
26 27
diff --git a/src/xmenu.c b/src/xmenu.c
index c6d7b0d9585..f899ddaa631 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -37,6 +37,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
37#endif 37#endif
38 38
39#include <stdio.h> 39#include <stdio.h>
40#include <setjmp.h>
40 41
41#include "lisp.h" 42#include "lisp.h"
42#include "keyboard.h" 43#include "keyboard.h"
diff --git a/src/xrdb.c b/src/xrdb.c
index fac97e4350f..3ae7068e479 100644
--- a/src/xrdb.c
+++ b/src/xrdb.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31#include <epaths.h> 31#include <epaths.h>
32 32
33#include <stdio.h> 33#include <stdio.h>
34#include <setjmp.h>
34 35
35#if 1 /* I'd really appreciate it if this code could go away... -JimB */ 36#if 1 /* I'd really appreciate it if this code could go away... -JimB */
36/* This avoids lossage in the `dual-universe' headers on AT&T SysV 37/* This avoids lossage in the `dual-universe' headers on AT&T SysV
diff --git a/src/xselect.c b/src/xselect.c
index 5cf4f74602c..79e0c0a280b 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 22
23#include <config.h> 23#include <config.h>
24#include <stdio.h> /* termhooks.h needs this */ 24#include <stdio.h> /* termhooks.h needs this */
25#include <setjmp.h>
25 26
26#ifdef HAVE_SYS_TYPES_H 27#ifdef HAVE_SYS_TYPES_H
27#include <sys/types.h> 28#include <sys/types.h>
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 80c4802a496..3e8220bd406 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -32,6 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 32
33#include <sys/param.h> 33#include <sys/param.h>
34#include <stdio.h> 34#include <stdio.h>
35#include <setjmp.h>
35 36
36#include "lisp.h" 37#include "lisp.h"
37#include "systime.h" 38#include "systime.h"
diff --git a/src/xterm.c b/src/xterm.c
index 72aea94e8b3..c77136eb64a 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28#include <signal.h> 28#include <signal.h>
29 29
30#include <stdio.h> 30#include <stdio.h>
31#include <setjmp.h>
31 32
32#ifdef HAVE_X_WINDOWS 33#ifdef HAVE_X_WINDOWS
33 34