aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2002-07-11 15:18:48 +0000
committerherbelin2002-07-11 15:18:48 +0000
commita426d4db0e8e24d1559def8aac31f85b3378768e (patch)
tree373797d2958d7100db333da00e69b87d884fccda
parent1ea2f6fa17d5f22dabadda9a28ffb682c7ff8635 (diff)
Protection contre l'encapsulage de FailError dans Exc_located (sinon, par exemple, 'Try Tauto' ne marche pas)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2855 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--proofs/refiner.ml9
1 files changed, 4 insertions, 5 deletions
diff --git a/proofs/refiner.ml b/proofs/refiner.ml
index b990e6f4b2..071f14330d 100644
--- a/proofs/refiner.ml
+++ b/proofs/refiner.ml
@@ -463,11 +463,10 @@ let tclORELSE0 t1 t2 g =
t1 g
with
| e when catchable_exception e -> t2 g
- | FailError lvl ->
- if lvl = 0 then
- t2 g
- else
- raise (FailError (lvl - 1))
+ | FailError 0 | Stdpp.Exc_located(_, FailError 0) -> t2 g
+ | FailError lvl -> raise (FailError (lvl - 1))
+ | Stdpp.Exc_located (s,FailError lvl) ->
+ raise (Stdpp.Exc_located (s,FailError (lvl - 1)))
(* ORELSE t1 t2 tries to apply t1 and if it fails or does not progress,
then applies t2 *)