more elementary exception handling: evade hard crash of (Runtime.thread true undefined) on Poly/ML 5.5.1 and 5.5.2;
authorwenzelm
Thu, 24 Jul 2014 23:17:26 +0200
changeset 57666 1c0ee733325f
parent 57664 179b9c43fe84
child 57667 0c267a7a23f2
more elementary exception handling: evade hard crash of (Runtime.thread true undefined) on Poly/ML 5.5.1 and 5.5.2;
src/Pure/Isar/runtime.ML
--- a/src/Pure/Isar/runtime.ML	Thu Jul 24 20:21:59 2014 +0200
+++ b/src/Pure/Isar/runtime.ML	Thu Jul 24 23:17:26 2014 +0200
@@ -166,10 +166,10 @@
 (*Proof General legacy*)
 fun thread interrupts body =
   Thread.fork
-    (((fn () => body () handle exn => if Exn.is_interrupt exn then () else reraise exn)
-        |> debugging NONE
-        |> toplevel_error
-          (fn exn => Output.urgent_message ("## INTERNAL ERROR ##\n" ^ exn_message exn))),
+    (fn () =>
+      debugging NONE body () handle exn =>
+        if Exn.is_interrupt exn then ()
+        else Output.urgent_message ("## INTERNAL ERROR ##\n" ^ exn_message exn),
       Simple_Thread.attributes interrupts);
 
 end;