diff -r 5fdb61a9a010 -r 0446c7ac2e32 src/Pure/PIDE/session.scala --- a/src/Pure/PIDE/session.scala Mon May 05 11:53:07 2014 +0200 +++ b/src/Pure/PIDE/session.scala Mon May 05 15:17:07 2014 +0200 @@ -98,6 +98,7 @@ abstract class Protocol_Handler { + def start(prover: Prover): Unit = {} def stop(prover: Prover): Unit = {} val functions: Map[String, (Prover, Prover.Protocol_Output) => Boolean] } @@ -122,6 +123,8 @@ val (handlers2, functions2) = try { val new_handler = Class.forName(name).newInstance.asInstanceOf[Protocol_Handler] + new_handler.start(prover) + val new_functions = for ((a, f) <- new_handler.functions.toList) yield (a, (msg: Prover.Protocol_Output) => f(prover, msg))