merged
authorwenzelm
Tue, 25 Jan 2011 22:15:03 +0100
changeset 41632 eb512b67a836
parent 41630 a7a93df23664 (diff)
parent 41631 8ff597b3dd80 (current diff)
child 41633 241517c95bc0
merged
--- a/src/Pure/PIDE/document.ML	Tue Jan 25 14:06:43 2011 +0100
+++ b/src/Pure/PIDE/document.ML	Tue Jan 25 22:15:03 2011 +0100
@@ -284,6 +284,7 @@
 fun edit (old_id: version_id) (new_id: version_id) edits state =
   let
     val old_version = the_version state old_id;
+    val _ = Time.now ();  (* FIXME odd workaround *)
     val new_version = fold edit_nodes edits old_version;
 
     fun update_node name (rev_updates, version, st) =
@@ -327,11 +328,14 @@
       fun await_cancellation () = Future.join_results execution;
 
       val execution' = (* FIXME proper node deps *)
-        node_names_of version |> map (fn name =>
-          Future.fork_pri 1 (fn () =>
-            (await_cancellation ();
-              fold_entries NONE (fn (_, exec) => fn () => force_exec exec)
-                (get_node version name) ())));
+        [Future.fork_pri 1 (fn () =>
+          let
+            val _ = await_cancellation ();
+            val _ =
+              node_names_of version |> List.app (fn name =>
+                fold_entries NONE (fn (_, exec) => fn () => force_exec exec)
+                    (get_node version name) ());
+          in () end)];
 
       val _ = await_cancellation ();