]> matita.cs.unibo.it Git - helm.git/commitdiff
New function replace to be used in place of time_travel every time the user
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 15 Jul 2011 14:40:34 +0000 (14:40 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 15 Jul 2011 14:40:34 +0000 (14:40 +0000)
switches to a new tab. In this way, every tab is independent and it only sees
the objects defined in that tab. This fixes the following bug: in tab A go
down; go down in tab B; go up in tab A (at this point also the objects declared
in B where removed); do something in B or go up in B (BOOM))

matita/components/ng_library/nCicLibrary.ml
matita/components/ng_library/nCicLibrary.mli

index 27fb0baf62db3722a378313847b69e91608cbd90..826779401523f15ebacbace5a66aed6fa508dc5e 100644 (file)
@@ -162,6 +162,11 @@ let time_travel0 (sto,ali) =
 
 let time_travel status = time_travel0 status#timestamp;;
 
+let replace status =
+ let sto,ali = status#timestamp in
+  storage := sto; local_aliases := ali
+;;
+
 type obj = string * Obj.t
 (* includes are transitively closed; dependencies are only immediate *)
 type dump =
index 63589694ad4f3f51cdefc4b14bc2e6a6f3942f5f..ee1ed3ece6996c74b936aeb0d6595f2dc9c44b7d 100644 (file)
@@ -35,6 +35,7 @@ val get_obj: #NCic.status -> NUri.uri -> NCic.obj (* changes the current timesta
 *)
 
 val time_travel: #status -> unit
+val replace: #status -> unit
 
 val init: unit -> unit