summaryrefslogtreecommitdiff
path: root/interp/notation.ml
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2012-06-04 12:07:52 +0200
committerGravatar Stephane Glondu <steph@glondu.net>2012-06-04 12:07:52 +0200
commit61dc740ed1c3780cccaec00d059a28f0d31d0052 (patch)
treed88d05baf35b9b09a034233300f35a694f9fa6c2 /interp/notation.ml
parent97fefe1fcca363a1317e066e7f4b99b9c1e9987b (diff)
Imported Upstream version 8.4~gamma0+really8.4beta2upstream/8.4_gamma0+really8.4beta2
Diffstat (limited to 'interp/notation.ml')
-rw-r--r--interp/notation.ml5
1 files changed, 5 insertions, 0 deletions
diff --git a/interp/notation.ml b/interp/notation.ml
index 8f19ab85..d2bee550 100644
--- a/interp/notation.ml
+++ b/interp/notation.ml
@@ -817,3 +817,8 @@ let _ =
{ freeze_function = freeze;
unfreeze_function = unfreeze;
init_function = init }
+
+let with_notation_protection f x =
+ let fs = freeze () in
+ try let a = f x in unfreeze fs; a
+ with e -> unfreeze fs; raise e