X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fng_library%2FnCicLibrary.ml;h=1852673f896c7a55c12a6babaa459347e8b657d4;hb=HEAD;hp=b63fe6a71263ec1e31e1bd7f555bc10fed89ab66;hpb=cbd81dcc1ca77e8bbd0ca5262ffbb1a09d2a5508;p=helm.git diff --git a/matita/components/ng_library/nCicLibrary.ml b/matita/components/ng_library/nCicLibrary.ml index b63fe6a71..1852673f8 100644 --- a/matita/components/ng_library/nCicLibrary.ml +++ b/matita/components/ng_library/nCicLibrary.ml @@ -183,7 +183,7 @@ class dumpable_status = method dump = db method set_dump v = {< db = v >} method set_dumpable_status - : 'status. #g_dumpable_status as 'status -> 'self + : 'status. (#g_dumpable_status as 'status) -> 'self = fun o -> {< db = o#dump >} end @@ -260,7 +260,10 @@ module Serializer(D: sig type dumpable_s = private #dumpable_status end) = let ch = open_out (ng_path_of_baseuri baseuri) in Marshal.to_channel ch (magic,(status#dump.dependencies,status#dump.objs)) []; close_out ch; + + if Helm_registry.get_bool "matita.remove_old_objects" then remove_objects ~baseuri; (* FG: we remove the old objects before putting the new ones*) + List.iter (function | `Obj (uri,obj) -> @@ -370,7 +373,7 @@ let add_obj status ((u,_,_,_,_) as orig_obj) = status#set_timestamp (!storage,!local_aliases) ;; -let add_constraint status u1 u2 = +let add_constraint status ~acyclic u1 u2 = if List.exists (function `Constr (u1',u2') when u1=u1' && u2=u2' -> true | _ -> false) @@ -378,7 +381,7 @@ let add_constraint status u1 u2 = then (*CSC: raise an exception here! *) (prerr_endline "CANNOT ADD A CONSTRAINT TWICE"; assert false); - NCicEnvironment.add_lt_constraint u1 u2; + NCicEnvironment.add_lt_constraint ~acyclic u1 u2; storage := (`Constr (u1,u2)) :: !storage; status#set_timestamp (!storage,!local_aliases) ;;