with
Failure _ -> assert false
;;
+
+let include_paths =
+ lazy (Helm_registry.get_list Helm_registry.string "matita.includes")
+;;
let rec interactive_loop () =
(* every loop is terminated by a terminator both on stdout and stderr *)
let watch_statuses lexicon_status grafite_status =
match grafite_status.GrafiteTypes.proof_status with
GrafiteTypes.Incomplete_proof
- {GrafiteTypes.proof = uri,metasenv,bo,ty,attrs ;
+ {GrafiteTypes.proof = uri,metasenv,_subst,bo,ty,attrs ;
GrafiteTypes.stack = stack } ->
let open_goals = Continuationals.Stack.open_goals stack in
print_endline
(List.map
(fun i ->
ApplyTransformation.txt_of_cic_sequent 80 metasenv
+ ~map_unicode_to_tex:(Helm_registry.get_bool
+ "matita.paste_unicode_as_tex")
(List.find (fun (j,_,_) -> j=i) metasenv)
) open_goals))
| _ -> ()
- in
- let include_paths =
- Helm_registry.get_list Helm_registry.string "matita.includes"
in
run_script str
(MatitaEngine.eval_from_stream ~first_statement_only:true ~prompt:false
- ~include_paths ~watch_statuses) ;
+ ~include_paths:(Lazy.force include_paths) ~watch_statuses) ;
interactive_loop (Some (List.length !lexicon_status))
with
| GrafiteEngine.Macro (floc,_) ->
| `Warning -> "<div style='color:yellow'>Warn: " ^ msg ^ "</div><br/>\n"
| `Error -> "<div style='color:red'>Error: " ^ msg ^ "</div><br/>\n"
in
- output_string stdout s;
- flush stdout
+ output_string stderr s;
+ flush stderr
);
(* must be called after init since args are set by cmdline parsing *)
let system_mode = Helm_registry.get_bool "matita.system" in
| End_of_file -> ()
| GrafiteEngine.Drop -> clean_exit 1
);
- let proof_status,moo_content_rev,metadata,lexicon_content_rev =
+ let proof_status,moo_content_rev,lexicon_content_rev =
match !lexicon_status,!grafite_status with
| ss::_, s::_ ->
- s.proof_status, s.moo_content_rev, ss.LexiconEngine.metadata,
+ s.proof_status, s.moo_content_rev,
ss.LexiconEngine.lexicon_content_rev
| _,_ -> assert false
in
LibraryMisc.lexicon_file_of_baseuri
~must_exist:false ~baseuri ~writable:true
in
- let metadata_fname =
- LibraryMisc.metadata_file_of_baseuri
- ~must_exist:false ~baseuri ~writable:true
- in
GrafiteMarshal.save_moo moo_fname moo_content_rev;
- LibraryNoDb.save_metadata metadata_fname metadata;
LexiconMarshal.save_lexicon lexicon_fname lexicon_content_rev;
exit 0
end