Skip to content
Browse files

* 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.
  • Loading branch information...
1 parent c6661eb commit 65f85b62baedef229914963a78712a9e24d84c96 Dan Nicolaescu committed Oct 19, 2009
Showing with 258 additions and 49 deletions.
  1. +9 −0 lwlib/ChangeLog
  2. +1 −0 lwlib/lwlib-Xaw.c
  3. +1 −0 lwlib/lwlib-Xlw.c
  4. +1 −0 lwlib/lwlib-Xm.c
  5. +1 −0 lwlib/lwlib-utils.c
  6. +1 −0 lwlib/lwlib.c
  7. +1 −0 lwlib/xlwmenu.c
  8. +103 −0 src/ChangeLog
  9. +1 −7 src/alloc.c
  10. +1 −0 src/atimer.c
  11. +1 −0 src/buffer.c
  12. +1 −0 src/bytecode.c
  13. +1 −0 src/callint.c
  14. +1 −0 src/callproc.c
  15. +1 −0 src/casefiddle.c
  16. +1 −0 src/casetab.c
  17. +1 −0 src/category.c
  18. +1 −0 src/ccl.c
  19. +1 −0 src/character.c
  20. +1 −0 src/charset.c
  21. +1 −0 src/chartab.c
  22. +1 −0 src/cm.c
  23. +1 −0 src/cmds.c
  24. +1 −0 src/coding.c
  25. +1 −0 src/composite.c
  26. +1 −0 src/data.c
  27. +1 −0 src/dbusbind.c
  28. +1 −0 src/dired.c
  29. +1 −0 src/dispnew.c
  30. +1 −0 src/doc.c
  31. +1 −0 src/doprnt.c
  32. +1 −0 src/dosfns.c
  33. +1 −0 src/editfns.c
  34. +1 −0 src/emacs.c
  35. +1 −36 src/eval.c
  36. +1 −0 src/fileio.c
  37. +1 −0 src/filelock.c
  38. +1 −0 src/floatfns.c
  39. +1 −0 src/fns.c
  40. +1 −0 src/font.c
  41. +1 −0 src/fontset.c
  42. +1 −0 src/frame.c
  43. +1 −0 src/fringe.c
  44. +1 −0 src/ftfont.c
  45. +1 −0 src/ftxfont.c
  46. +1 −0 src/gtkutil.c
  47. +8 −6 src/image.c
  48. +1 −0 src/indent.c
  49. +1 −0 src/insdel.c
  50. +1 −0 src/intervals.c
  51. +1 −0 src/keyboard.c
  52. +1 −0 src/keymap.c
  53. +35 −0 src/lisp.h
  54. +1 −0 src/macros.c
  55. +1 −0 src/marker.c
  56. +1 −0 src/menu.c
  57. +1 −0 src/minibuf.c
  58. +1 −0 src/msdos.c
  59. +1 −0 src/print.c
  60. +2 −0 src/process.c
  61. +1 −0 src/ralloc.c
  62. +1 −0 src/regex.c
  63. +1 −0 src/region-cache.c
  64. +1 −0 src/scroll.c
  65. +1 −0 src/search.c
  66. +1 −0 src/sheap.c
  67. +1 −0 src/sound.c
  68. +1 −0 src/syntax.c
  69. +1 −0 src/term.c
  70. +1 −0 src/termcap.c
  71. +1 −0 src/terminal.c
  72. +1 −0 src/terminfo.c
  73. +1 −0 src/textprop.c
  74. +1 −0 src/tparam.c
  75. +1 −0 src/undo.c
  76. +1 −0 src/unexaix.c
  77. +1 −0 src/unexcw.c
  78. +1 −0 src/unexec.c
  79. +1 −0 src/unexsol.c
  80. +1 −0 src/vm-limit.c
  81. +1 −0 src/w16select.c
  82. +1 −0 src/w32.c
  83. +1 −0 src/w32console.c
  84. +1 −0 src/w32fns.c
  85. +1 −0 src/w32font.c
  86. +1 −0 src/w32heap.c
  87. +1 −0 src/w32inevt.c
  88. +1 −0 src/w32menu.c
  89. +1 −0 src/w32proc.c
  90. +1 −0 src/w32reg.c
  91. +1 −0 src/w32select.c
  92. +1 −0 src/w32term.c
  93. +1 −0 src/w32uniscribe.c
  94. +1 −0 src/w32xfns.c
  95. +1 −0 src/widget.c
  96. +1 −0 src/window.c
  97. +1 −0 src/xdisp.c
  98. +1 −0 src/xfaces.c
  99. +1 −0 src/xfns.c
  100. +1 −0 src/xfont.c
  101. +1 −0 src/xftfont.c
  102. +1 −0 src/xmenu.c
  103. +1 −0 src/xrdb.c
  104. +1 −0 src/xselect.c
  105. +1 −0 src/xsmfns.c
  106. +1 −0 src/xterm.c
View
9 lwlib/ChangeLog
@@ -1,3 +1,12 @@
+2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * xlwmenu.c:
+ * lwlib.c:
+ * lwlib-utils.c:
+ * lwlib-Xm.c:
+ * lwlib-Xlw.c:
+ * lwlib-Xaw.c: Include setjmp.h.
+
2009-06-21 Chong Yidong <cyd@stupidchicken.com>
* Branch for 23.1.
View
1 lwlib/lwlib-Xaw.c
@@ -25,6 +25,7 @@ Boston, MA 02110-1301, USA. */
#endif
#include <stdio.h>
+#include <setjmp.h>
#include "../src/lisp.h"
View
1 lwlib/lwlib-Xlw.c
@@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. */
#include <config.h>
#endif
+#include <setjmp.h>
#include "lisp.h"
#include "lwlib-Xlw.h"
View
1 lwlib/lwlib-Xm.c
@@ -26,6 +26,7 @@ Boston, MA 02110-1301, USA. */
#include <unistd.h>
#include <stdio.h>
+#include <setjmp.h>
#include <X11/StringDefs.h>
#include <X11/IntrinsicP.h>
View
1 lwlib/lwlib-utils.c
@@ -31,6 +31,7 @@ Boston, MA 02110-1301, USA. */
#undef index
#undef rindex
+#include <setjmp.h>
#include "../src/lisp.h"
#include <X11/Xatom.h>
View
1 lwlib/lwlib.c
@@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. */
#include <config.h>
#endif
+#include <setjmp.h>
#include "../src/lisp.h"
#include <sys/types.h>
View
1 lwlib/xlwmenu.c
@@ -26,6 +26,7 @@ Boston, MA 02110-1301, USA. */
#include <config.h>
#endif
+#include <setjmp.h>
#include "lisp.h"
#include <stdio.h>
View
103 src/ChangeLog
@@ -1,3 +1,106 @@
+2009-10-19 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * 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)
+
2009-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
Remove leftover table unibyte_to_multibyte_table.
View
8 src/alloc.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <limits.h> /* For CHAR_BIT. */
+#include <setjmp.h>
#ifdef STDC_HEADERS
#include <stddef.h> /* For offsetof, used by PSEUDOVECSIZE. */
@@ -4939,13 +4940,6 @@ staticpro (varaddress)
abort ();
}
-struct catchtag
-{
- Lisp_Object tag;
- Lisp_Object val;
- struct catchtag *next;
-};
-
/***********************************************************************
Protection from GC
View
1 src/atimer.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#include <lisp.h>
#include <syssignal.h>
#include <systime.h>
View
1 src/buffer.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/param.h>
#include <errno.h>
#include <stdio.h>
+#include <setjmp.h>
#ifndef USE_CRT_DLL
extern int errno;
View
1 src/bytecode.c
@@ -34,6 +34,7 @@ by Hallvard:
*/
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
1 src/callint.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/callproc.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
#include <errno.h>
#include <stdio.h>
+#include <setjmp.h>
#ifndef USE_CRT_DLL
extern int errno;
View
1 src/casefiddle.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
1 src/casetab.c
@@ -20,6 +20,7 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
1 src/category.c
@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <ctype.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
1 src/ccl.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "character.h"
View
1 src/character.c
@@ -34,6 +34,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef emacs
#include <sys/types.h>
+#include <setjmp.h>
#include "lisp.h"
#include "character.h"
#include "buffer.h"
View
1 src/charset.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <unistd.h>
#include <ctype.h>
#include <sys/types.h>
+#include <setjmp.h>
#include "lisp.h"
#include "character.h"
#include "charset.h"
View
1 src/chartab.c
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
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"
View
1 src/cm.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
View
1 src/cmds.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "commands.h"
#include "buffer.h"
View
1 src/coding.c
@@ -289,6 +289,7 @@ encode_coding_XXX (coding)
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/composite.c
@@ -24,6 +24,7 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
1 src/data.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "puresize.h"
#include "character.h"
View
1 src/dbusbind.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdlib.h>
#include <stdio.h>
#include <dbus/dbus.h>
+#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
#include "termhooks.h"
View
1 src/dired.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
View
1 src/dispnew.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
#include <stdio.h>
#include <ctype.h>
+#include <setjmp.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
View
1 src/doc.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/types.h>
#include <sys/file.h> /* Must be after sys/types.h for USG*/
#include <ctype.h>
+#include <setjmp.h>
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
View
1 src/doprnt.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <ctype.h>
+#include <setjmp.h>
#ifdef STDC_HEADERS
#include <float.h>
View
1 src/dosfns.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <string.h>
#include <dos.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "termchar.h"
View
1 src/editfns.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <sys/types.h>
#include <stdio.h>
+#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
View
1 src/emacs.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/types.h>
#include <sys/file.h>
+#include <setjmp.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
View
37 src/eval.c
@@ -20,12 +20,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "blockinput.h"
#include "commands.h"
#include "keyboard.h"
#include "dispextern.h"
-#include <setjmp.h>
#if HAVE_X_WINDOWS
#include "xterm.h"
@@ -49,41 +49,6 @@ struct backtrace
struct backtrace *backtrace_list;
-/* This structure helps implement the `catch' and `throw' control
- structure. A struct catchtag contains all the information needed
- to restore the state of the interpreter after a non-local jump.
-
- Handlers for error conditions (represented by `struct handler'
- structures) just point to a catch tag to do the cleanup required
- for their jumps.
-
- catchtag structures are chained together in the C calling stack;
- the `next' member points to the next outer catchtag.
-
- A call like (throw TAG VAL) searches for a catchtag whose `tag'
- member is TAG, and then unbinds to it. The `val' member is used to
- hold VAL while the stack is unwound; `val' is returned as the value
- of the catch form.
-
- All the other members are concerned with restoring the interpreter
- state. */
-
-struct catchtag
-{
- Lisp_Object tag;
- Lisp_Object val;
- struct catchtag *next;
- struct gcpro *gcpro;
- jmp_buf jmp;
- struct backtrace *backlist;
- struct handler *handlerlist;
- int lisp_eval_depth;
- int pdlcount;
- int poll_suppress_count;
- int interrupt_input_blocked;
- struct byte_stack *byte_stack;
-};
-
struct catchtag *catchlist;
#ifdef DEBUG_GCPRO
View
1 src/fileio.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <setjmp.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
View
1 src/filelock.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/stat.h>
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#ifdef HAVE_PWD_H
#include <pwd.h>
View
1 src/floatfns.c
@@ -48,6 +48,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <signal.h>
+#include <setjmp.h>
#include "lisp.h"
#include "syssignal.h"
View
1 src/fns.c
@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <unistd.h>
#endif
#include <time.h>
+#include <setjmp.h>
/* Note on some machines this defines `vector' as a typedef,
so make sure we don't use that name in this file. */
View
1 src/font.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/fontset.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "blockinput.h"
View
1 src/frame.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <ctype.h>
+#include <setjmp.h>
#include "lisp.h"
#include "character.h"
#ifdef HAVE_X_WINDOWS
View
1 src/fringe.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
View
1 src/ftfont.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcfreetype.h>
View
1 src/ftxfont.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include <X11/Xlib.h>
#include "lisp.h"
View
1 src/gtkutil.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <string.h>
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "xterm.h"
#include "blockinput.h"
View
14 src/image.c
@@ -27,6 +27,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <unistd.h>
#endif
+#ifdef HAVE_PNG
+#if defined HAVE_LIBPNG_PNG_H
+# include <libpng/png.h>
+#else
+# include <png.h>
+#endif
+#endif
+
/* This makes the fields of a Display accessible, in Xlib header files. */
#define XLIB_ILLEGAL_ACCESS
@@ -5787,12 +5795,6 @@ png_image_p (object)
#ifdef HAVE_PNG
-#if defined HAVE_LIBPNG_PNG_H
-# include <libpng/png.h>
-#else
-# include <png.h>
-#endif
-
#ifdef HAVE_NTGUI
/* PNG library details. */
View
1 src/indent.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/insdel.c
@@ -20,6 +20,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 "buffer.h"
View
1 src/intervals.c
@@ -39,6 +39,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 "buffer.h"
View
1 src/keyboard.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "termchar.h"
#include "termopts.h"
View
1 src/keymap.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#if HAVE_ALLOCA_H
# include <alloca.h>
#endif
View
35 src/lisp.h
@@ -1826,6 +1826,41 @@ struct handler
extern struct handler *handlerlist;
+/* This structure helps implement the `catch' and `throw' control
+ structure. A struct catchtag contains all the information needed
+ to restore the state of the interpreter after a non-local jump.
+
+ Handlers for error conditions (represented by `struct handler'
+ structures) just point to a catch tag to do the cleanup required
+ for their jumps.
+
+ catchtag structures are chained together in the C calling stack;
+ the `next' member points to the next outer catchtag.
+
+ A call like (throw TAG VAL) searches for a catchtag whose `tag'
+ member is TAG, and then unbinds to it. The `val' member is used to
+ hold VAL while the stack is unwound; `val' is returned as the value
+ of the catch form.
+
+ All the other members are concerned with restoring the interpreter
+ state. */
+
+struct catchtag
+{
+ Lisp_Object tag;
+ Lisp_Object val;
+ struct catchtag *next;
+ struct gcpro *gcpro;
+ jmp_buf jmp;
+ struct backtrace *backlist;
+ struct handler *handlerlist;
+ int lisp_eval_depth;
+ int pdlcount;
+ int poll_suppress_count;
+ int interrupt_input_blocked;
+ struct byte_stack *byte_stack;
+};
+
extern struct catchtag *catchlist;
extern struct backtrace *backtrace_list;
View
1 src/macros.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "macros.h"
#include "commands.h"
View
1 src/marker.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
1 src/menu.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
View
1 src/minibuf.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "commands.h"
View
1 src/msdos.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#ifdef MSDOS
+#include <setjmp.h>
#include "lisp.h"
#include <stdio.h>
#include <stdlib.h>
View
1 src/print.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "character.h"
View
2 src/process.c
@@ -38,6 +38,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/types.h> /* some typedefs are used in sys/file.h */
#include <sys/file.h>
#include <sys/stat.h>
+#include <setjmp.h>
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
@@ -7641,6 +7642,7 @@ The variable takes effect when `start-process' is called. */);
#include <sys/stat.h>
#include <stdlib.h>
#include <fcntl.h>
+#include <setjmp.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
View
1 src/ralloc.c
@@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef emacs
#include <config.h>
+#include <setjmp.h>
#include "lisp.h" /* Needed for VALBITS. */
#include "blockinput.h"
View
1 src/regex.c
@@ -117,6 +117,7 @@
that make sense only in Emacs. */
#ifdef emacs
+# include <setjmp.h>
# include "lisp.h"
# include "buffer.h"
View
1 src/region-cache.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/scroll.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <string.h>
+#include <setjmp.h>
#include "lisp.h"
#include "termchar.h"
#include "dispextern.h"
View
1 src/search.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "syntax.h"
#include "category.h"
View
1 src/sheap.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include <unistd.h>
View
1 src/sound.c
@@ -44,6 +44,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
+#include <setjmp.h>
#include "lisp.h"
#include "dispextern.h"
#include "atimer.h"
View
1 src/syntax.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <ctype.h>
+#include <setjmp.h>
#include "lisp.h"
#include "commands.h"
#include "buffer.h"
View
1 src/term.c
@@ -37,6 +37,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
#include <stdarg.h>
+#include <setjmp.h>
#include "lisp.h"
#include "termchar.h"
View
1 src/termcap.c
@@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. */
#ifdef emacs
+#include <setjmp.h>
#include <lisp.h> /* xmalloc is here */
/* Get the O_* definitions for open et al. */
#include <sys/file.h>
View
1 src/terminal.c
@@ -18,6 +18,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "frame.h"
View
1 src/terminfo.c
@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
/* Define these variables that serve as global parameters to termcap,
View
1 src/textprop.c
@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
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 "buffer.h"
View
1 src/tparam.c
@@ -23,6 +23,7 @@ Boston, MA 02110-1301, USA. */
#endif
#ifdef emacs
+#include <setjmp.h>
#include "lisp.h" /* for xmalloc */
#else
View
1 src/undo.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
#include "commands.h"
View
1 src/unexaix.c
@@ -104,6 +104,7 @@ static int adjust_lnnoptrs (int, int, char *);
static int pagemask;
#ifdef emacs
+#include <setjmp.h>
#include "lisp.h"
static void
View
1 src/unexcw.c
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
+#include <setjmp.h>
#include <lisp.h>
#include <stdio.h>
#include <fcntl.h>
View
1 src/unexec.c
@@ -204,6 +204,7 @@ static int pagemask;
#ifdef emacs
+#include <setjmp.h>
#include "lisp.h"
static
View
1 src/unexsol.c
@@ -3,6 +3,7 @@
#include <config.h>
#include <stdlib.h>
#include <dlfcn.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/vm-limit.c
@@ -19,6 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef emacs
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#endif
View
1 src/w16select.c
@@ -32,6 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <dpmi.h>
#include <go32.h>
#include <sys/farptr.h>
+#include <setjmp.h>
#include "lisp.h"
#include "dispextern.h" /* frame.h seems to want this */
#include "frame.h" /* Need this to get the X window of selected_frame */
View
1 src/w32.c
@@ -34,6 +34,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/utime.h>
#include <mbstring.h> /* for _mbspbrk */
#include <math.h>
+#include <setjmp.h>
/* must include CRT headers *before* config.h */
View
1 src/w32console.c
@@ -29,6 +29,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <windows.h>
#include <string.h>
+#include <setjmp.h>
#include "lisp.h"
#include "character.h"
View
1 src/w32fns.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <limits.h>
#include <errno.h>
#include <math.h>
+#include <setjmp.h>
#include "lisp.h"
#include "w32term.h"
View
1 src/w32font.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <math.h>
#include <ctype.h>
#include <commdlg.h>
+#include <setjmp.h>
#include "lisp.h"
#include "w32term.h"
View
1 src/w32heap.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdlib.h>
#include <stdio.h>
+#include <setjmp.h>
#include "w32heap.h"
#include "lisp.h" /* for VALMASK */
View
1 src/w32inevt.c
@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
+#include <setjmp.h>
#ifndef MOUSE_MOVED
#define MOUSE_MOVED 1
View
1 src/w32menu.c
@@ -23,6 +23,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
#include <stdio.h>
#include <mbstring.h>
+#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
View
1 src/w32proc.c
@@ -29,6 +29,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <fcntl.h>
#include <signal.h>
#include <sys/file.h>
+#include <setjmp.h>
/* must include CRT headers *before* config.h */
View
1 src/w32reg.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Kevin Gallo */
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "w32term.h"
#include "blockinput.h"
View
1 src/w32select.c
@@ -73,6 +73,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
*/
#include <config.h>
+#include <setjmp.h>
#include "lisp.h"
#include "w32term.h" /* for all of the w32 includes */
#include "w32heap.h" /* os_subtype */
View
1 src/w32term.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
+#include <setjmp.h>
#include "lisp.h"
#include "blockinput.h"
#include "w32term.h"
View
1 src/w32uniscribe.c
@@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define _WIN32_WINNT 0x500
#include <windows.h>
#include <usp10.h>
+#include <setjmp.h>
#include "lisp.h"
#include "w32term.h"
View
1 src/w32xfns.c
@@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
#include "frame.h"
View
1 src/widget.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "xterm.h"
View
1 src/window.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "buffer.h"
View
1 src/xdisp.c
@@ -168,6 +168,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <limits.h>
+#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
View
1 src/xfaces.c
@@ -204,6 +204,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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"
View
1 src/xfns.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <math.h>
+#include <setjmp.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
View
1 src/xfont.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#include <setjmp.h>
#include <X11/Xlib.h>
#include "lisp.h"
View
1 src/xftfont.c
@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h>
+#include <setjmp.h>
#include <X11/Xlib.h>
#include <X11/Xft/Xft.h>
View
1 src/xmenu.c
@@ -37,6 +37,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "keyboard.h"
View
1 src/xrdb.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <epaths.h>
#include <stdio.h>
+#include <setjmp.h>
#if 1 /* I'd really appreciate it if this code could go away... -JimB */
/* This avoids lossage in the `dual-universe' headers on AT&T SysV
View
1 src/xselect.c
@@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdio.h> /* termhooks.h needs this */
+#include <setjmp.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
View
1 src/xsmfns.c
@@ -32,6 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/param.h>
#include <stdio.h>
+#include <setjmp.h>
#include "lisp.h"
#include "systime.h"
View
1 src/xterm.c
@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <signal.h>
#include <stdio.h>
+#include <setjmp.h>
#ifdef HAVE_X_WINDOWS

0 comments on commit 65f85b6

Please sign in to comment.
Something went wrong with that request. Please try again.