From 208a0f7bfa5249f9795e6e225f309cbe715c0fad Mon Sep 17 00:00:00 2001 From: Samuel Mimram Date: Tue, 21 Nov 2006 21:38:49 +0000 Subject: Imported Upstream version 8.1~gamma --- library/states.ml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'library/states.ml') diff --git a/library/states.ml b/library/states.ml index 3bb37a4d..169a3857 100644 --- a/library/states.ml +++ b/library/states.ml @@ -6,16 +6,16 @@ (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -(* $Id: states.ml 6692 2005-02-06 13:03:51Z herbelin $ *) +(* $Id: states.ml 9100 2006-08-31 18:04:26Z herbelin $ *) open System type state = Lib.frozen * Summary.frozen -let get_state () = +let freeze () = (Lib.freeze(), Summary.freeze_summaries()) -let set_state (fl,fs) = +let unfreeze (fl,fs) = Lib.unfreeze fl; Summary.unfreeze_summaries fs @@ -23,17 +23,14 @@ let state_magic_number = 19764 let (extern_state,intern_state) = let (raw_extern, raw_intern) = extern_intern state_magic_number ".coq" in - (fun s -> raw_extern s (get_state())), - (fun s -> set_state (raw_intern (Library.get_load_paths ()) s)) + (fun s -> raw_extern s (freeze())), + (fun s -> unfreeze (raw_intern (Library.get_load_paths ()) s)) (* Rollback. *) -let freeze = get_state -let unfreeze = set_state - let with_heavy_rollback f x = - let st = get_state () in + let st = freeze () in try f x with reraise -> - (set_state st; raise reraise) + (unfreeze st; raise reraise) -- cgit v1.2.3