--- a/src/Pure/PIDE/document.scala Wed Jul 23 14:50:20 2014 +0200
+++ b/src/Pure/PIDE/document.scala Wed Jul 23 15:00:46 2014 +0200
@@ -296,6 +296,9 @@
def apply(name: Node.Name): Node =
graph.default_node(name, Node.empty).get_node(name)
+ def is_maximal(name: Node.Name): Boolean =
+ graph.default_node(name, Node.empty).is_maximal(name)
+
def + (entry: (Node.Name, Node)): Nodes =
{
val (name, node) = entry
--- a/src/Tools/jEdit/src/theories_dockable.scala Wed Jul 23 14:50:20 2014 +0200
+++ b/src/Tools/jEdit/src/theories_dockable.scala Wed Jul 23 15:00:46 2014 +0200
@@ -204,7 +204,7 @@
val nodes_status1 =
(nodes_status /: iterator)({ case (status, (name, node)) =>
if (!name.is_theory || PIDE.resources.loaded_theories(name.theory)) status
- else if (node.is_empty) status - name
+ else if (snapshot.version.nodes.is_maximal(name) && node.is_empty) status - name
else status + (name -> Protocol.node_status(snapshot.state, snapshot.version, node)) })
if (nodes_status != nodes_status1) {