src/Pure/System/isabelle_process.ML
changeset 57975 c657c68a60ab
parent 56895 f058120aaad4
child 57979 fc136831d6ca
--- a/src/Pure/System/isabelle_process.ML	Wed Aug 13 20:21:04 2014 +0200
+++ b/src/Pure/System/isabelle_process.ML	Fri Aug 15 13:39:59 2014 +0200
@@ -121,6 +121,7 @@
     Output.warning_fn := (fn s => standard_message (serial_props ()) Markup.warningN s);
     Output.error_message_fn :=
       (fn (i, s) => standard_message (Markup.serial_properties i) Markup.errorN s);
+    Output.system_message_fn := message Markup.systemN [];
     Output.protocol_message_fn := message Markup.protocolN;
     Output.urgent_message_fn := ! Output.writeln_fn;
     Output.prompt_fn := ignore;
@@ -137,7 +138,8 @@
 
 fun recover crash =
   (Synchronized.change crashes (cons crash);
-    warning "Recovering from Isabelle process crash -- see also Isabelle_Process.crashes");
+    Output.physical_stderr
+      "Recovered from Isabelle process crash -- see also Isabelle_Process.crashes\n");
 
 fun read_chunk channel len =
   let
@@ -167,10 +169,10 @@
 fun loop channel =
   let val continue =
     (case read_command channel of
-      [] => (Output.error_message "Isabelle process: no input"; true)
+      [] => (Output.system_message "Isabelle process: no input"; true)
     | name :: args => (task_context (fn () => run_command name args); true))
     handle Runtime.TERMINATE => false
-      | exn => (Runtime.exn_error_message exn handle crash => recover crash; true);
+      | exn => (Runtime.exn_system_message exn handle crash => recover crash; true);
   in
     if continue then loop channel
     else (Future.shutdown (); Execution.reset (); ())