more recent recent_syntax, e.g. relevant for document rendering during startup;
authorwenzelm
Thu, 15 Mar 2012 14:39:42 +0100
changeset 46944 9fc22eb6408c
parent 46943 ac1c41ea856d
child 46945 26007caf6e9c
more recent recent_syntax, e.g. relevant for document rendering during startup;
src/Pure/PIDE/document.scala
src/Pure/System/session.scala
--- a/src/Pure/PIDE/document.scala	Thu Mar 15 14:22:54 2012 +0100
+++ b/src/Pure/PIDE/document.scala	Thu Mar 15 14:39:42 2012 +0100
@@ -419,6 +419,7 @@
     def is_stable(change: Change): Boolean =
       change.is_finished && is_assigned(change.version.get_finished)
 
+    def recent_finished: Change = history.undo_list.find(_.is_finished) getOrElse fail
     def recent_stable: Change = history.undo_list.find(is_stable) getOrElse fail
     def tip_stable: Boolean = is_stable(history.tip)
     def tip_version: Version = history.tip.version.get_finished
--- a/src/Pure/System/session.scala	Thu Mar 15 14:22:54 2012 +0100
+++ b/src/Pure/System/session.scala	Thu Mar 15 14:39:42 2012 +0100
@@ -137,7 +137,13 @@
 
   private val global_state = Volatile(Document.State.init)
   def current_state(): Document.State = global_state()
-  def recent_syntax(): Outer_Syntax = current_state().recent_stable.version.get_finished.syntax
+
+  def recent_syntax(): Outer_Syntax =
+  {
+    val version = current_state().recent_finished.version.get_finished
+    if (version.is_init) prover_syntax
+    else version.syntax
+  }
 
   def snapshot(name: Document.Node.Name = Document.Node.Name.empty,
       pending_edits: List[Text.Edit] = Nil): Document.Snapshot =