--- 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 ();