src/Pure/PIDE/isar_document.scala
changeset 39439 1c294d150ded
parent 39181 2257eded8323
child 39441 4110cc1b8f9f
--- a/src/Pure/PIDE/isar_document.scala	Thu Sep 16 15:37:12 2010 +0200
+++ b/src/Pure/PIDE/isar_document.scala	Fri Sep 17 15:51:11 2010 +0200
@@ -56,10 +56,16 @@
   }
 
 
+  /* messages */
+
+  def clean_message(body: XML.Body): XML.Body =
+    body filter { case XML.Elem(Markup(Markup.NO_REPORT, _), _) => false case _ => true } map
+      { case XML.Elem(markup, ts) => XML.Elem(markup, clean_message(ts)) case t => t }
+
+
   /* reported positions */
 
   private val include_pos = Set(Markup.BINDING, Markup.ENTITY, Markup.REPORT, Markup.POSITION)
-  private val exclude_pos = Set(Markup.LOCATION)
 
   private def is_state(msg: XML.Tree): Boolean =
     msg match {
@@ -75,8 +81,7 @@
         if include_pos(name) && id == command.id =>
           val range = command.decode(raw_range).restrict(command.range)
           body.foldLeft(if (range.is_singularity) set else set + range)(reported)
-        case XML.Elem(Markup(name, _), body) if !exclude_pos(name) =>
-          body.foldLeft(set)(reported)
+        case XML.Elem(Markup(name, _), body) => body.foldLeft(set)(reported)
         case _ => set
       }
     val set = reported(Set.empty, message)