aboutsummaryrefslogtreecommitdiff
path: root/vernac/vernacstate.ml
diff options
context:
space:
mode:
authorMaxime Dénès2018-11-29 15:37:26 +0100
committerMaxime Dénès2018-12-13 10:08:02 +0100
commite20a12d92c7cc7c40ee0ac0b6569b0ee5e0e0b0f (patch)
tree1c9d80fb70c9df0a28e7fc8989e931cffb787b08 /vernac/vernacstate.ml
parentd9a6d4814f0669b586ca5c13d6d6540cd194b45f (diff)
Move shallow state logic to the function preparing state for workers
Diffstat (limited to 'vernac/vernacstate.ml')
-rw-r--r--vernac/vernacstate.ml11
1 files changed, 9 insertions, 2 deletions
diff --git a/vernac/vernacstate.ml b/vernac/vernacstate.ml
index aa8bcdc328..b40bccf27e 100644
--- a/vernac/vernacstate.ml
+++ b/vernac/vernacstate.ml
@@ -33,11 +33,18 @@ let do_if_not_cached rf f v =
| Some _ ->
()
-let freeze_interp_state marshallable =
+let freeze_interp_state ~marshallable =
{ system = update_cache s_cache (States.freeze ~marshallable);
proof = update_cache s_proof (Proof_global.freeze ~marshallable);
- shallow = marshallable = `Shallow }
+ shallow = marshallable }
let unfreeze_interp_state { system; proof } =
do_if_not_cached s_cache States.unfreeze system;
do_if_not_cached s_proof Proof_global.unfreeze proof
+
+let make_shallow st =
+ let lib = States.lib_of_state st.system in
+ { st with
+ system = States.replace_lib st.system @@ Lib.drop_objects lib;
+ shallow = true;
+ }