diff options
| author | filliatr | 1999-12-14 13:49:42 +0000 |
|---|---|---|
| committer | filliatr | 1999-12-14 13:49:42 +0000 |
| commit | c8da19b11952126f09b9d32002534ce91ae0d47c (patch) | |
| tree | 0c83bb3864f108e6a3276d52d520935f37d1ec10 /tactics | |
| parent | be7331b6cd0c37ec34d0cd867c906a5219bcbd94 (diff) | |
rattrapage exceptions autres que UserError
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@254 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
| -rw-r--r-- | tactics/auto.ml | 2 | ||||
| -rw-r--r-- | tactics/pattern.ml | 5 | ||||
| -rw-r--r-- | tactics/tacticals.ml | 5 | ||||
| -rw-r--r-- | tactics/tactics.ml | 2 |
4 files changed, 10 insertions, 4 deletions
diff --git a/tactics/auto.ml b/tactics/auto.ml index 7e8d7678a4..e0dec159b0 100644 --- a/tactics/auto.ml +++ b/tactics/auto.ml @@ -237,7 +237,7 @@ let make_resolve_hyp hname htyp = [make_apply_entry (true, Options.is_verbose()) hname (mkVar hname, htyp)] with | Failure _ -> [] - | UserError _ -> anomaly "make_resolve_hyp" + | e when Logic.catchable_exception e -> anomaly "make_resolve_hyp" let add_resolves clist dbnames = List.iter diff --git a/tactics/pattern.ml b/tactics/pattern.ml index 5ff9a6294e..dcc3a5f7b1 100644 --- a/tactics/pattern.ml +++ b/tactics/pattern.ml @@ -178,7 +178,10 @@ let somatch metavars = let somatches n pat = let m = get_pat pat in - try let _ = somatch None m n in true with UserError _ -> false + try + let _ = somatch None m n in true + with e when Logic.catchable_exception e -> + false let dest_somatch n pat = let m = get_pat pat in diff --git a/tactics/tacticals.ml b/tactics/tacticals.ml index bae9c87982..4755cc50ea 100644 --- a/tactics/tacticals.ml +++ b/tactics/tacticals.ml @@ -121,7 +121,10 @@ let clause_type cls gl = let matches gls n pat = let m = get_pat pat in let (wc,_) = startWalk gls in - try let _ = Clenv.unify_0 [] wc m n in true with UserError _ -> false + try + let _ = Clenv.unify_0 [] wc m n in true + with e when Logic.catchable_exception e -> + false let dest_match gls n pat = let m = get_pat pat in diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 5f4c73feab..8759e54a9a 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -1675,7 +1675,7 @@ let abstract_subproof name tac gls = by (tclCOMPLETE (tclTHEN (tclDO (sign_length sign) intro) tac)); save_named true - with UserError _ as e -> + with e when catchable_exception e -> (abort_cur_goal(); raise e) end; exact (applist ((Declare.construct_reference env' CCI na), |
