# HG changeset patch # User wenzelm # Date 1451942033 -3600 # Node ID cff7114e45720a7fcf2f76ea91d248bcde9caeeb # Parent b0f941e207cfb004c743196a7646ae712e7e7aab# Parent 1c8252d07e328a31fb2af55f607312813b184cbc merged diff -r b0f941e207cf -r cff7114e4572 src/HOL/Library/Product_Order.thy --- a/src/HOL/Library/Product_Order.thy Mon Jan 04 17:45:36 2016 +0100 +++ b/src/HOL/Library/Product_Order.thy Mon Jan 04 22:13:53 2016 +0100 @@ -153,7 +153,7 @@ instance prod :: (bounded_lattice, bounded_lattice) bounded_lattice .. instance prod :: (boolean_algebra, boolean_algebra) boolean_algebra - by standard (auto simp add: prod_eqI inf_compl_bot sup_compl_top diff_eq) + by standard (auto simp add: prod_eqI diff_eq) subsection \Complete lattice operations\ @@ -179,7 +179,8 @@ instance prod :: (conditionally_complete_lattice, conditionally_complete_lattice) conditionally_complete_lattice by standard (force simp: less_eq_prod_def Inf_prod_def Sup_prod_def bdd_below_def bdd_above_def - INF_def SUP_def simp del: Inf_image_eq Sup_image_eq intro!: cInf_lower cSup_upper cInf_greatest cSup_least)+ + INF_def SUP_def simp del: Inf_image_eq Sup_image_eq + intro!: cInf_lower cSup_upper cInf_greatest cSup_least)+ instance prod :: (complete_lattice, complete_lattice) complete_lattice by standard (simp_all add: less_eq_prod_def Inf_prod_def Sup_prod_def diff -r b0f941e207cf -r cff7114e4572 src/Pure/PIDE/session.scala --- a/src/Pure/PIDE/session.scala Mon Jan 04 17:45:36 2016 +0100 +++ b/src/Pure/PIDE/session.scala Mon Jan 04 22:13:53 2016 +0100 @@ -605,11 +605,11 @@ def stop() { + delay_prune.revoke() manager.send_wait(Stop) prover.await_reset() change_parser.shutdown() change_buffer.shutdown() - delay_prune.revoke() manager.shutdown() dispatcher.shutdown() } diff -r b0f941e207cf -r cff7114e4572 src/Pure/Tools/debugger.scala --- a/src/Pure/Tools/debugger.scala Mon Jan 04 17:45:36 2016 +0100 +++ b/src/Pure/Tools/debugger.scala Mon Jan 04 22:13:53 2016 +0100 @@ -61,7 +61,10 @@ output: Map[String, Command.Results] = Map.empty) // thread name ~> output messages { def set_session(new_session: Session): State = + { + session.stop() copy(session = new_session) + } def set_break(b: Boolean): State = copy(break = b) diff -r b0f941e207cf -r cff7114e4572 src/Tools/jEdit/src/plugin.scala --- a/src/Tools/jEdit/src/plugin.scala Mon Jan 04 17:45:36 2016 +0100 +++ b/src/Tools/jEdit/src/plugin.scala Mon Jan 04 22:13:53 2016 +0100 @@ -398,6 +398,7 @@ val resources = new JEdit_Resources(content.loaded_theories, content.known_theories, content.syntax) + PIDE.session.stop() PIDE.session = new Session(resources) { override def output_delay = PIDE.options.seconds("editor_output_delay") override def prune_delay = PIDE.options.seconds("editor_prune_delay") diff -r b0f941e207cf -r cff7114e4572 src/Tools/jEdit/src/theories_dockable.scala --- a/src/Tools/jEdit/src/theories_dockable.scala Mon Jan 04 17:45:36 2016 +0100 +++ b/src/Tools/jEdit/src/theories_dockable.scala Mon Jan 04 22:13:53 2016 +0100 @@ -192,9 +192,9 @@ private def handle_update(restriction: Option[Set[Document.Node.Name]] = None) { - val (snapshot, nodes_status0) = - GUI_Thread.now { (PIDE.session.snapshot(), nodes_status) } + GUI_Thread.require {} + val snapshot = PIDE.session.snapshot() val nodes = snapshot.version.nodes val iterator = @@ -203,7 +203,7 @@ case None => nodes.iterator } val nodes_status1 = - (nodes_status0 /: iterator)({ case (status, (name, node)) => + (nodes_status /: iterator)({ case (status, (name, node)) => if (!name.is_theory || PIDE.resources.loaded_theories(name.theory) || node.is_empty) status else status + (name -> Protocol.node_status(snapshot.state, snapshot.version, node)) }) @@ -211,12 +211,10 @@ val nodes_status2 = nodes_status1 -- nodes_status1.keysIterator.filter(nodes.is_hidden(_)) - if (nodes_status0 != nodes_status2) - GUI_Thread.now { - nodes_status = nodes_status2 - status.listData = nodes.topological_order.filter(nodes_status.isDefinedAt(_)) - status.repaint() - } + if (nodes_status != nodes_status2) { + nodes_status = nodes_status2 + status.listData = nodes.topological_order.filter(nodes_status.isDefinedAt(_)) + } } @@ -236,7 +234,7 @@ } case changed: Session.Commands_Changed => - handle_update(Some(changed.nodes)) + GUI_Thread.later { handle_update(Some(changed.nodes)) } } override def init()