# HG changeset patch # User wenzelm # Date 1606317256 -3600 # Node ID cb9d5af781b480744e85f6a0d9fd7eda30c6e813 # Parent 0cc96d337e8f903845463da857c13d4ee648dbf9 more complete report positions, notably for command 'back' (amending eca176f773e0); diff -r 0cc96d337e8f -r cb9d5af781b4 src/Pure/PIDE/command.scala --- a/src/Pure/PIDE/command.scala Wed Nov 25 15:24:55 2020 +0100 +++ b/src/Pure/PIDE/command.scala Wed Nov 25 16:14:16 2020 +0100 @@ -345,13 +345,14 @@ }) } - case XML.Elem(Markup(Markup.REPORT, _), msgs) => + case XML.Elem(Markup(Markup.REPORT, atts0), msgs) => (this /: msgs)((state, msg) => { def bad(): Unit = Output.warning("Ignored report message: " + msg) msg match { - case XML.Elem(Markup(name, atts), args) => + case XML.Elem(Markup(name, atts1), args) => + val atts = atts1 ::: atts0 command.reported_position(atts) match { case Some((id, chunk_name)) => val target = diff -r 0cc96d337e8f -r cb9d5af781b4 src/Pure/System/isabelle_process.ML --- a/src/Pure/System/isabelle_process.ML Wed Nov 25 15:24:55 2020 +0100 +++ b/src/Pure/System/isabelle_process.ML Wed Nov 25 16:14:16 2020 +0100 @@ -148,11 +148,10 @@ if forall (fn s => s = "") ss then () else let - val props' = - (case (Properties.defined props Markup.idN, Position.get_id (Position.thread_data ())) of - (false, SOME id') => props @ [(Markup.idN, id')] - | _ => props); - in message name props' (XML.blob ss) end; + val pos_props = + if exists Markup.position_property props then props + else props @ Position.properties_of (Position.thread_data ()); + in message name pos_props (XML.blob ss) end; fun report_message ss = if Context_Position.pide_reports ()