src/Pure/PIDE/document.ML
changeset 45666 d83797ef0d2d
parent 44979 68b990e950b1
child 45674 eb65c9d17e2f
equal deleted inserted replaced
45665:129db1416717 45666:d83797ef0d2d
   331   let
   331   let
   332     val is_init = Toplevel.is_init tr;
   332     val is_init = Toplevel.is_init tr;
   333     val is_proof = Keyword.is_proof (Toplevel.name_of tr);
   333     val is_proof = Keyword.is_proof (Toplevel.name_of tr);
   334 
   334 
   335     val _ = Multithreading.interrupted ();
   335     val _ = Multithreading.interrupted ();
   336     val _ = Toplevel.status tr Markup.forked;
   336     val _ = Toplevel.status tr Isabelle_Markup.forked;
   337     val start = Timing.start ();
   337     val start = Timing.start ();
   338     val (errs, result) = run (is_init orelse is_proof) (Toplevel.set_print false tr) st;
   338     val (errs, result) = run (is_init orelse is_proof) (Toplevel.set_print false tr) st;
   339     val _ = timing tr (Timing.result start);
   339     val _ = timing tr (Timing.result start);
   340     val _ = Toplevel.status tr Markup.joined;
   340     val _ = Toplevel.status tr Isabelle_Markup.joined;
   341     val _ = List.app (Toplevel.error_msg tr) errs;
   341     val _ = List.app (Toplevel.error_msg tr) errs;
   342   in
   342   in
   343     (case result of
   343     (case result of
   344       NONE =>
   344       NONE =>
   345         let
   345         let
   346           val _ = if null errs then Exn.interrupt () else ();
   346           val _ = if null errs then Exn.interrupt () else ();
   347           val _ = Toplevel.status tr Markup.failed;
   347           val _ = Toplevel.status tr Isabelle_Markup.failed;
   348         in (st, no_print) end
   348         in (st, no_print) end
   349     | SOME st' =>
   349     | SOME st' =>
   350         let
   350         let
   351           val _ = Toplevel.status tr Markup.finished;
   351           val _ = Toplevel.status tr Isabelle_Markup.finished;
   352           val _ = proof_status tr st';
   352           val _ = proof_status tr st';
   353           val do_print =
   353           val do_print =
   354             not is_init andalso
   354             not is_init andalso
   355               (Toplevel.print_of tr orelse (is_proof andalso Toplevel.is_proof st'));
   355               (Toplevel.print_of tr orelse (is_proof andalso Toplevel.is_proof st'));
   356         in (st', if do_print then print_state tr st' else no_print) end)
   356         in (st', if do_print then print_state tr st' else no_print) end)