- try
- eval_statement !include_paths (*buffer*) status (`Raw text)
- with
- | HExtlib.Localized (_,e) -> raise e
- (*| End_of_file -> raise Margin *)
- in
+ try
+ eval_statement !include_paths (*buffer*) status (`Raw text)
+ with
+ | HExtlib.Localized (floc,e) as exn ->
+ let x, y = HExtlib.loc_of_floc floc in
+ let pre = Netconversion.ustring_sub `Enc_utf8 0 x text in
+ let err = Netconversion.ustring_sub `Enc_utf8 x (y-x) text in
+ let post = Netconversion.ustring_sub `Enc_utf8 y
+ (Netconversion.ustring_length `Enc_utf8 text - y) text in
+ let _,title = MatitaExcPp.to_string exn in
+ (* let title = "" in *)
+ let marked =
+ pre ^ "\005span class=\"error\" title=\"" ^ title ^ "\"\006" ^ err ^ "\005/span\006" ^ post in
+ let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false
+ () (html_of_matita marked) in
+ raise (Emphasized_error marked)
+ (* | End_of_file -> ... *)
+ in