src/Pure/General/position.ML
changeset 55959 c3b458435f4f
parent 55922 710bc66f432c
child 56333 38f1422ef473
equal deleted inserted replaced
55958:4ec984df4f45 55959:c3b458435f4f
    41   type report_text = report * string
    41   type report_text = report * string
    42   val reports_text: report_text list -> unit
    42   val reports_text: report_text list -> unit
    43   val reports: report list -> unit
    43   val reports: report list -> unit
    44   val store_reports: report_text list Unsynchronized.ref ->
    44   val store_reports: report_text list Unsynchronized.ref ->
    45     T list -> ('a -> Markup.T list) -> 'a -> unit
    45     T list -> ('a -> Markup.T list) -> 'a -> unit
       
    46   val append_reports: report_text list Unsynchronized.ref -> report list -> unit
    46   val here: T -> string
    47   val here: T -> string
    47   val here_list: T list -> string
    48   val here_list: T list -> string
    48   type range = T * T
    49   type range = T * T
    49   val no_range: range
    50   val no_range: range
    50   val set_range: range -> T
    51   val set_range: range -> T
   179 
   180 
   180 fun store_reports _ [] _ _ = ()
   181 fun store_reports _ [] _ _ = ()
   181   | store_reports (r: report_text list Unsynchronized.ref) ps markup x =
   182   | store_reports (r: report_text list Unsynchronized.ref) ps markup x =
   182       let val ms = markup x
   183       let val ms = markup x
   183       in Unsynchronized.change r (fold (fn p => fold (fn m => cons ((p, m), "")) ms) ps) end;
   184       in Unsynchronized.change r (fold (fn p => fold (fn m => cons ((p, m), "")) ms) ps) end;
       
   185 
       
   186 fun append_reports (r: report_text list Unsynchronized.ref) reports =
       
   187   Unsynchronized.change r (append (map (rpair "") reports));
   184 
   188 
   185 
   189 
   186 (* here: inlined formal markup *)
   190 (* here: inlined formal markup *)
   187 
   191 
   188 fun here pos =
   192 fun here pos =