src/Pure/PIDE/command.ML
changeset 62505 9e2a65912111
parent 61457 3e21699bb83b
child 62826 eb94e570c1a4
equal deleted inserted replaced
62504:f14f17e656a6 62505:9e2a65912111
   193   Toplevel.setmp_thread_position tr
   193   Toplevel.setmp_thread_position tr
   194     (fn () =>
   194     (fn () =>
   195       Outer_Syntax.side_comments span |> maps (fn cmt =>
   195       Outer_Syntax.side_comments span |> maps (fn cmt =>
   196         (Thy_Output.output_text st' {markdown = false} (Token.input_of cmt); [])
   196         (Thy_Output.output_text st' {markdown = false} (Token.input_of cmt); [])
   197           handle exn =>
   197           handle exn =>
   198             if Exn.is_interrupt exn then reraise exn
   198             if Exn.is_interrupt exn then Exn.reraise exn
   199             else Runtime.exn_messages_ids exn)) ();
   199             else Runtime.exn_messages_ids exn)) ();
   200 
   200 
   201 fun report tr m =
   201 fun report tr m =
   202   Toplevel.setmp_thread_position tr (fn () => Output.report [Markup.markup_only m]) ();
   202   Toplevel.setmp_thread_position tr (fn () => Output.report [Markup.markup_only m]) ();
   203 
   203 
   275   Synchronized.var "Command.print_functions" ([]: (string * print_function) list);
   275   Synchronized.var "Command.print_functions" ([]: (string * print_function) list);
   276 
   276 
   277 fun print_error tr opt_context e =
   277 fun print_error tr opt_context e =
   278   (Toplevel.setmp_thread_position tr o Runtime.controlled_execution opt_context) e ()
   278   (Toplevel.setmp_thread_position tr o Runtime.controlled_execution opt_context) e ()
   279     handle exn =>
   279     handle exn =>
   280       if Exn.is_interrupt exn then reraise exn
   280       if Exn.is_interrupt exn then Exn.reraise exn
   281       else List.app (Future.error_message (Toplevel.pos_of tr)) (Runtime.exn_messages_ids exn);
   281       else List.app (Future.error_message (Toplevel.pos_of tr)) (Runtime.exn_messages_ids exn);
   282 
   282 
   283 fun print_finished (Print {print_process, ...}) = Lazy.is_finished print_process;
   283 fun print_finished (Print {print_process, ...}) = Lazy.is_finished print_process;
   284 
   284 
   285 fun print_persistent (Print {persistent, ...}) = persistent;
   285 fun print_persistent (Print {persistent, ...}) = persistent;
   310           exec_id = exec_id, print_process = Lazy.lazy process}
   310           exec_id = exec_id, print_process = Lazy.lazy process}
   311       end;
   311       end;
   312 
   312 
   313     fun bad_print name args exn =
   313     fun bad_print name args exn =
   314       make_print name args {delay = NONE, pri = 0, persistent = false,
   314       make_print name args {delay = NONE, pri = 0, persistent = false,
   315         strict = false, print_fn = fn _ => fn _ => reraise exn};
   315         strict = false, print_fn = fn _ => fn _ => Exn.reraise exn};
   316 
   316 
   317     fun new_print name args get_pr =
   317     fun new_print name args get_pr =
   318       let
   318       let
   319         val params =
   319         val params =
   320          {keywords = keywords,
   320          {keywords = keywords,