]> matita.cs.unibo.it Git - helm.git/commitdiff
MatitaSync.remove must remove the objects also from the environment.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Thu, 21 Jul 2005 12:42:58 +0000 (12:42 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Thu, 21 Jul 2005 12:42:58 +0000 (12:42 +0000)
This fixes the following bug: in matita open a file B that depends on A
(that gets loaded in the environment); then switch to A without exiting
matita. It is now impossible to re-compile A.

helm/matita/matitaSync.ml
helm/matita/matitaSync.mli

index 2547bbdfc1cbab499f2053dbf9326d476ab962a4..51007df29ea5a64a74986770a754bda14bb269b5 100644 (file)
@@ -266,5 +266,6 @@ let remove ~verbose uri =
         MatitaMisc.safe_remove (Http_getter.resolve' uri)
       with Http_getter_types.Key_not_found _ -> ());
       remove_coercion uri; 
-      ignore (MatitaDb.remove_uri uri))
+      ignore (MatitaDb.remove_uri uri);
+      CicEnvironment.remove_obj uri)
   to_remove
index 66787ad4673b9dd7731f66d18f12c989a0297ebf..492bc8c3be3c548c56832ff3862dc98b4ba13f7f 100644 (file)
@@ -40,7 +40,7 @@ val alias_diff: from:MatitaTypes.status -> MatitaTypes.status ->
 val set_proof_aliases :
   MatitaTypes.status -> DisambiguateTypes.environment -> MatitaTypes.status
 
-  (* removes the object from DB, Disk, CoercionsDB, getter 
+  (* removes the object from DB, Disk, CoercionsDB, CicEnvironment, getter 
    * asserts the uri is resolved to file:// so it is only for 
    * user's objects *)
 val remove: verbose:bool -> UriManager.uri -> unit