aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp
diff options
context:
space:
mode:
authorGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-05-06 13:40:58 +0000
committerGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-05-06 13:40:58 +0000
commit9fa14555270fa8f2368a7f4df1510bd2937d25ec (patch)
tree5ca417f25ef2f0c2425820494f0a097b12f82b50 /interp
parent683afb998ceb8302f3d9ec1d69cfe1ee86816c13 (diff)
States: frozen states can hold closures
States.freeze takes ~marshallable:bool, so that (only) when we want to marshal data to disk/network we can ask the freeze functions of the summary to force lazy values. The flag is propagated to Lib and Summary. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16478 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
-rw-r--r--interp/notation.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/interp/notation.ml b/interp/notation.ml
index 81ef06f6f..d0b4651ec 100644
--- a/interp/notation.ml
+++ b/interp/notation.ml
@@ -891,7 +891,7 @@ let find_notation_printing_rule ntn =
(**********************************************************************)
(* Synchronisation with reset *)
-let freeze () =
+let freeze _ =
(!scope_map, !notation_level_map, !scope_stack, !arguments_scope,
!delimiters_map, !notations_key_table, !printing_rules,
!scope_class_map)
@@ -925,7 +925,7 @@ let _ =
Summary.init_function = init }
let with_notation_protection f x =
- let fs = freeze () in
+ let fs = freeze false in
try let a = f x in unfreeze fs; a
with reraise ->
let reraise = Errors.push reraise in