diff options
author | gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-05-06 13:40:58 +0000 |
---|---|---|
committer | gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-05-06 13:40:58 +0000 |
commit | 9fa14555270fa8f2368a7f4df1510bd2937d25ec (patch) | |
tree | 5ca417f25ef2f0c2425820494f0a097b12f82b50 /interp | |
parent | 683afb998ceb8302f3d9ec1d69cfe1ee86816c13 (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.ml | 4 |
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 |