in
match ast with
+ | GrafiteAst.Executable (_,
+ GrafiteAst.NCommand (_,
+ GrafiteAst.NObj (loc, astobj,_))) ->
+ let objname = NotationPt.name_of_obj astobj in
+ let status =
+ MatitaEngine.eval_ast ~include_paths ~do_heavy_checks:false status ("",0,ast)
+ in
+ let new_parsed_text = Ulexing.from_utf8_string parsed_text in
+ let interpr = GrafiteDisambiguate.get_interpr status#disambiguate_db in
+ let outstr = ref "" in
+ ignore (SmallLexer.mk_small_printer interpr outstr new_parsed_text);
+ let x, y = HExtlib.loc_of_floc floc in
+ let pre = Netconversion.ustring_sub `Enc_utf8 0 x !outstr in
+ let post = Netconversion.ustring_sub `Enc_utf8 x
+ (Netconversion.ustring_length `Enc_utf8 !outstr - x) !outstr in
+ outstr := Printf.sprintf
+ "%s\005input type=\"radio\" class=\"anchor\" id=\"%s\" /\006%s" pre objname post;
+ prerr_endline ("baseuri after advance = " ^ status#baseuri);
+ (* prerr_endline ("parser output: " ^ !outstr); *)
+ (status,!outstr, unparsed_txt'),parsed_text_len
| GrafiteAst.Executable (_,
GrafiteAst.NTactic (_,
[GrafiteAst.NAuto (_, (l,a as auto_params))])) when is_auto auto_params
~content_type:"text/xml; charset=\"utf-8\""
();
*)
+ let readonly = cgi # argument_value "readonly" in
let filename = libdir uid ^ "/" ^ (cgi # argument_value "file") in
(* prerr_endline ("reading file " ^ filename); *)
let body =
with
Librarian.NoRootFor _ | Librarian.FileNotFound _ -> "",[] in
include_paths := incpaths;
- let status = (MatitaAuthentication.get_status sid)#set_baseuri baseuri in
- let history = [status] in
- MatitaAuthentication.set_status sid status;
- MatitaAuthentication.set_history sid history;
+ if readonly <> "true" then
+ (let status = (MatitaAuthentication.get_status sid)#set_baseuri baseuri in
+ let history = [status] in
+ MatitaAuthentication.set_status sid status;
+ MatitaAuthentication.set_history sid history);
cgi # set_header
~cache:`No_cache
~content_type:"text/xml; charset=\"utf-8\""