(***********************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* raw_extern s (get_state())), (fun s -> set_state (raw_intern (Library.get_load_path ()) s)) (* Rollback. *) let freeze = get_state let unfreeze = set_state let with_heavy_rollback f x = let sum = freeze_summaries () and flib = freeze() in try f x with reraise -> begin unfreeze_summaries sum; unfreeze flib; raise reraise end