- let proof_status,moo_content_rev,metadata,lexicon_content_rev =
- match !lexicon_status,!grafite_status with
- | Some ss, Some s ->
- s.proof_status, s.moo_content_rev, ss.LexiconEngine.metadata,
- ss.LexiconEngine.lexicon_content_rev
- | _,_ -> assert false
+ let grafite_status, lexicon_status =
+ let rec aux_for_dump x =
+ try
+ match
+ MatitaEngine.eval_from_stream ~first_statement_only:false ~include_paths
+ lexicon_status grafite_status buf x
+ with
+ | [] -> grafite_status, lexicon_status
+ | ((grafite,lexicon),None)::_ -> grafite, lexicon
+ | ((_,l),Some _)::_ -> raise (AttemptToInsertAnAlias l)
+
+ with MatitaEngine.EnrichedWithLexiconStatus
+ (GrafiteEngine.Macro (floc, f), lex_status) as exn ->
+ match f (get_macro_context (Some grafite_status)) with
+ | _, GrafiteAst.Inline (_, style, suri, prefix) ->
+ let str =
+ ApplyTransformation.txt_of_inline_macro style suri prefix
+ ~map_unicode_to_tex:(Helm_registry.get_bool
+ "matita.paste_unicode_as_tex") in
+ !out str;
+ aux_for_dump x
+ |_-> raise exn
+ in
+ aux_for_dump print_cb
+ in
+ let elapsed = Unix.time () -. time in
+ let proof_status,moo_content_rev,lexicon_content_rev =
+ grafite_status.proof_status, grafite_status.moo_content_rev,
+ lexicon_status.LexiconEngine.lexicon_content_rev