diff options
Diffstat (limited to 'interp/notation.ml')
-rw-r--r-- | interp/notation.ml | 5 |
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 |