--- 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)
}
}