exception Drop
(* mo file name, ma file name *)
-exception IncludedFileNotCompiled of string * string
+(*exception IncludedFileNotCompiled of string * string *)
exception NMacro of GrafiteAst.loc * GrafiteAst.nmacro
type 'a disambiguator_input = string * int * 'a
let status,uris =
match cmd with
| GrafiteAst.Include (loc, baseuri) ->
+ (*
let status =
let moopath_rw, moopath_r =
LibraryMisc.obj_file_of_baseuri
in
eval_from_moo status moopath
in
- let status =
+ let status = *)
NCicLibrary.Serializer.require ~baseuri:(NUri.uri_of_string baseuri)
- status in
+ status (*in
let status =
GrafiteTypes.add_moo_content
[GrafiteAst.Include (loc,baseuri)] status
in
- status,[]
+ status,[] *), []
| GrafiteAst.Print (_,_) -> status,[]
| GrafiteAst.Set (loc, name, value) -> status, []
in
*)
exception Drop
-exception IncludedFileNotCompiled of string * string
+(*exception IncludedFileNotCompiled of string * string*)
exception NMacro of GrafiteAst.loc * GrafiteAst.nmacro
type 'a disambiguator_input = string * int * 'a
(* $Id$ *)
exception LibraryOutOfSync of string Lazy.t
+exception IncludedFileNotCompiled of string * string
let magic = 2;;
dump
;;
-let require0 ~baseuri = require_path (path_of_baseuri baseuri);;
+let require0 ~baseuri =
+ require_path (path_of_baseuri baseuri)
+;;
let db_path () = Helm_registry.get "matita.basedir" ^ "/ng_db.ng";;
let serialize = serialize
+ let require2 ~baseuri status =
+ try
+ includes := baseuri::!includes;
+ let dump = require0 ~baseuri in
+ List.fold_right !require1#run dump status
+ with
+ Sys_error _ ->
+ raise (IncludedFileNotCompiled(path_of_baseuri baseuri,NUri.string_of_uri baseuri))
+
+ let record_include =
+ let aux baseuri ~refresh_uri_in_universe ~refresh_uri_in_term =
+ (* memorizzo baseuri in una tabella; *)
+ require2 ~baseuri
+ in
+ register#run "include"
+ object(self : 'a register_type)
+ method run = aux
+ end
+
let require ~baseuri status =
- includes := baseuri::!includes;
- let dump = require0 ~baseuri in
- List.fold_right !require1#run dump status
+ let status = require2 ~baseuri status in
+ let dump = record_include baseuri :: status#dump in
+ status#set_dump dump
end