src/Pure/System/session.scala
changeset 43717 c3ddb5537a2f
parent 43716 1d64662c1bfd
child 43718 4a4ca9e4a14b
equal deleted inserted replaced
43716:1d64662c1bfd 43717:c3ddb5537a2f
   301         case Stop =>
   301         case Stop =>
   302           if (phase == Session.Ready) {
   302           if (phase == Session.Ready) {
   303             global_state.change(_ => Document.State.init)  // FIXME event bus!?
   303             global_state.change(_ => Document.State.init)  // FIXME event bus!?
   304             phase = Session.Shutdown
   304             phase = Session.Shutdown
   305             prover.get.terminate
   305             prover.get.terminate
       
   306             prover = None
   306             phase = Session.Inactive
   307             phase = Session.Inactive
   307           }
   308           }
   308           finished = true
   309           finished = true
   309           reply(())
   310           reply(())
   310 
   311 
   311         case Interrupt =>
   312         case Interrupt if prover.isDefined =>
   312           prover.map(_.interrupt)
   313           prover.get.interrupt
   313 
   314 
   314         case Edit_Node(name, header, text_edits) if prover.isDefined =>
   315         case Edit_Node(name, header, text_edits) if prover.isDefined =>
   315           val node_name = (header.master_dir + Path.basic(name)).implode  // FIXME
   316           val node_name = (header.master_dir + Path.basic(name)).implode  // FIXME
   316           handle_edits(List(header), List((node_name, Some(text_edits))))
   317           handle_edits(List(header), List((node_name, Some(text_edits))))
   317           reply(())
   318           reply(())
   329           handle_change(change)
   330           handle_change(change)
   330 
   331 
   331         case result: Isabelle_Process.Result =>
   332         case result: Isabelle_Process.Result =>
   332           handle_result(result)
   333           handle_result(result)
   333 
   334 
   334         case bad if prover.isDefined =>
   335         case bad => System.err.println("session_actor: ignoring bad message " + bad)
   335           System.err.println("session_actor: ignoring bad message " + bad)
       
   336       }
   336       }
   337     }
   337     }
   338     //}}}
   338     //}}}
   339   }
   339   }
   340 
   340