diff -r ec9ec04546fc -r 3b27169fd9da src/Pure/PIDE/batch_session.scala --- a/src/Pure/PIDE/batch_session.scala Tue Mar 14 11:48:15 2017 +0100 +++ b/src/Pure/PIDE/batch_session.scala Tue Mar 14 11:49:51 2017 +0100 @@ -38,8 +38,9 @@ val handler = new Build.Handler(progress, session) - prover_session.phase_changed += - Session.Consumer[Session.Phase](getClass.getName) { + Isabelle_Process.start(prover_session, options, logic = parent_session, + phase_changed = + { case Session.Ready => prover_session.add_protocol_handler(handler) val master_dir = session_info.dir @@ -51,9 +52,7 @@ case Session.Shutdown => batch_session.session_result.fulfill(()) case _ => - } - - Isabelle_Process.start(prover_session, options, logic = parent_session) + }) batch_session }