(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* let s = ensure_suffix s in raw_extern s (freeze ~marshallable:`Yes)), (fun s -> let s = ensure_suffix s in let paths = Loadpath.get_paths () in unfreeze (with_magic_number_check (raw_intern paths) s); Library.overwrite_library_filenames s) (* Rollback. *) let with_state_protection f x = let st = freeze ~marshallable:`No in try let a = f x in unfreeze st; a with reraise -> let reraise = Errors.push reraise in (unfreeze st; iraise reraise) let with_state_protection_on_exception = Future.transactify