diff -r 878de88db080 -r edbc8e8accd9 src/Pure/System/session.scala --- 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) } }