UriManager.buri_of_uri (UriManager.uri_of_string v) =
baseuri
with
- UriManager.IllFormedUri _ -> false (* v is a description, not a URI *)
+ UriManager.IllFormedUri _ ->
+ try
+ (* this too! *)
+ let NReference.Ref (uri,_) = NReference.reference_of_string v in
+ let ouri = NCic2OCic.ouri_of_nuri uri in
+ UriManager.buri_of_uri ouri = baseuri
+ with
+ NReference.IllFormedReference _ ->
+ false (* v is a description, not a URI *)
in
if b then
lexicon_status,acc
((new_grafite_status,new_lexicon_status),None)::intermediate_states
exception TryingToAdd of string
-exception EnrichedWithLexiconStatus of exn * LexiconEngine.status
-
-let out = ref ignore
-
-let set_callback f = out := f
+exception EnrichedWithStatus of exn * LexiconEngine.status * GrafiteTypes.status
let eval_from_stream ~first_statement_only ~include_paths
?do_heavy_checks ?(enforce_no_new_aliases=true)
false, lexicon_status, grafite_status,
(((grafite_status,lexicon_status),None)::statuses)
| GrafiteParser.LSome ast ->
- !out ast;
cb grafite_status ast;
let new_statuses =
eval_ast ?do_heavy_checks lexicon_status
watch_statuses lexicon_status grafite_status ;
false, lexicon_status, grafite_status, (new_statuses @ statuses))
with exn when not matita_debug ->
- raise (EnrichedWithLexiconStatus (exn, lexicon_status))
+ raise (EnrichedWithStatus (exn, lexicon_status, grafite_status))
in
if stop then s else loop l g s
in