diff options
| author | letouzey | 2013-03-13 00:00:40 +0000 |
|---|---|---|
| committer | letouzey | 2013-03-13 00:00:40 +0000 |
| commit | 1b2e9b8aa5b5b0941ac331c1a95b406c053ffbdf (patch) | |
| tree | 59a175569af4ac1e3a593a8163b695931affb497 /proofs/proof.ml | |
| parent | 7e50cbcc7e0ecbc9c4dd7bace9f2cb261a2c2d84 (diff) | |
Restrict (try...with...) to avoid catching critical exn (part 12)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16288 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs/proof.ml')
| -rw-r--r-- | proofs/proof.ml | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/proofs/proof.ml b/proofs/proof.ml index 479ccabccb..d3c3fb71a7 100644 --- a/proofs/proof.ml +++ b/proofs/proof.ml @@ -321,7 +321,7 @@ let rec rollback pr = let transaction pr t = init_transaction pr; try t (); commit pr - with e -> rollback pr; raise e + with reraise -> rollback pr; raise reraise (* Focus command (focuses on the [i]th subgoal) *) @@ -416,9 +416,9 @@ let run_tactic env tac pr = let tacticced_proofview = Proofview.apply env tac sp in pr.state <- { pr.state with proofview = tacticced_proofview }; push_undo starting_point pr - with e -> + with reraise -> restore_state starting_point pr; - raise e + raise reraise (*** Commands ***) @@ -463,7 +463,7 @@ module V82 = struct let new_proofview = Proofview.V82.instantiate_evar n com sp in pr.state <- { pr.state with proofview = new_proofview }; push_undo starting_point pr - with e -> + with reraise -> restore_state starting_point pr; - raise e + raise reraise end |
