default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
--- a/src/Pure/Concurrent/future.ML Wed Aug 12 01:25:00 2015 +0200
+++ b/src/Pure/Concurrent/future.ML Wed Aug 12 01:39:31 2015 +0200
@@ -429,12 +429,14 @@
let
val result = Single_Assignment.var "future" : 'a result;
val pos = Position.thread_data ();
+ val context = Context.thread_data ();
fun job ok =
let
val res =
if ok then
Exn.capture (fn () =>
- Multithreading.with_attributes atts (fn _ => Position.setmp_thread_data pos e ())) ()
+ Multithreading.with_attributes atts (fn _ =>
+ (Position.setmp_thread_data pos o Context.setmp_thread_data context) e ())) ()
else Exn.interrupt_exn;
in assign_result group result (identify_result pos res) end;
in (result, job) end;
--- a/src/Pure/ROOT.ML Wed Aug 12 01:25:00 2015 +0200
+++ b/src/Pure/ROOT.ML Wed Aug 12 01:39:31 2015 +0200
@@ -85,7 +85,15 @@
use "General/change_table.ML";
use "General/graph.ML";
+
+(* fundamental structures *)
+
+use "name.ML";
+use "term.ML";
+use "context.ML";
+use "context_position.ML";
use "System/options.ML";
+use "config.ML";
(* concurrency within the ML runtime *)
@@ -132,15 +140,6 @@
use "PIDE/active.ML";
-(* fundamental structures *)
-
-use "name.ML";
-use "term.ML";
-use "context.ML";
-use "context_position.ML";
-use "config.ML";
-
-
(* inner syntax *)
use "Syntax/type_annotation.ML";