src_eval.c.25331628.diff   [plain text]


--- src/eval.c.orig	2016-03-24 18:13:50.000000000 -0700
+++ src/eval.c	2016-03-24 18:55:24.000000000 -0700
@@ -1201,7 +1201,7 @@
      Lisp_Object arg;
 {
   /* This structure is made part of the chain `catchlist'.  */
-  struct catchtag c;
+  volatile struct catchtag c;
 
   /* Fill in the components of c, and put it on the list.  */
   c.next = catchlist;
@@ -1376,8 +1376,8 @@
      Lisp_Object bodyform, handlers;
 {
   Lisp_Object val;
-  struct catchtag c;
-  struct handler h;
+  volatile struct catchtag c;
+  volatile struct handler h;
 
   CHECK_SYMBOL (var);
 
@@ -1446,8 +1446,8 @@
      Lisp_Object (*hfun) ();
 {
   Lisp_Object val;
-  struct catchtag c;
-  struct handler h;
+  volatile struct catchtag c;
+  volatile struct handler h;
 
   /* Since Fsignal will close off all calls to x_catch_errors,
      we will get the wrong results if some are not closed now.  */
@@ -1494,8 +1494,8 @@
      Lisp_Object (*hfun) ();
 {
   Lisp_Object val;
-  struct catchtag c;
-  struct handler h;
+  volatile struct catchtag c;
+  volatile struct handler h;
 
   /* Since Fsignal will close off all calls to x_catch_errors,
      we will get the wrong results if some are not closed now.  */
@@ -1545,8 +1545,8 @@
      Lisp_Object (*hfun) ();
 {
   Lisp_Object val;
-  struct catchtag c;
-  struct handler h;
+  volatile struct catchtag c;
+  volatile struct handler h;
 
   /* Since Fsignal will close off all calls to x_catch_errors,
      we will get the wrong results if some are not closed now.  */