aboutsummaryrefslogtreecommitdiff
path: root/interp
diff options
context:
space:
mode:
Diffstat (limited to 'interp')
-rw-r--r--interp/constrintern.ml1
-rw-r--r--interp/notation.ml5
2 files changed, 5 insertions, 1 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index 2afd33babb..542ee9857b 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -714,6 +714,7 @@ let intern_applied_reference intern env namedctx lvar args = function
let r,args2 = intern_non_secvar_qualid loc qid intern env lvar args in
find_appl_head_data r, args2
with e ->
+ let e = Errors.push e in
(* Extra allowance for non globalizing functions *)
if !interning_grammar || env.unb then
(GVar (loc,id), [], [], []),args
diff --git a/interp/notation.ml b/interp/notation.ml
index ac71e1ebdc..c55b7b999b 100644
--- a/interp/notation.ml
+++ b/interp/notation.ml
@@ -928,4 +928,7 @@ let _ =
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
+ with e ->
+ let e = Errors.push e in
+ let () = unfreeze fs in
+ raise e