src/Pure/System/session.scala
changeset 48016 edbc8e8accd9
parent 47653 4605d4341b8b
child 48020 a4f9957878ab
--- a/src/Pure/System/session.scala	Tue May 29 17:54:34 2012 +0200
+++ b/src/Pure/System/session.scala	Tue May 29 18:00:54 2012 +0200
@@ -369,10 +369,12 @@
         case Isabelle_Markup.Keyword_Decl(name) if output.is_protocol =>
           prover_syntax += name
 
+        case Isabelle_Markup.Return_Code(rc) if output.is_exit =>
+          if (rc == 0) phase = Session.Inactive
+          else phase = Session.Failed
+
         case _ =>
-          if (output.is_exit && phase == Session.Startup) phase = Session.Failed
-          else if (output.is_exit) phase = Session.Inactive
-          else if (output.is_init || output.is_stdout) { }
+          if (output.is_init || output.is_stdout) { }
           else bad_output(output)
       }
     }