diff options
author | 2014-04-25 13:59:39 +0200 | |
---|---|---|
committer | 2014-04-25 14:00:43 +0200 | |
commit | b35edb34769fecd4dbdf7030222ba3078eab1c93 (patch) | |
tree | 0efb56c5711b0a2d9ae8eef5b7792b734899f2be /tactics/tactics.ml | |
parent | a5e0b28f9344744edf2209001fe047b1535775f6 (diff) |
Fixing various backtrace recordings.
Diffstat (limited to 'tactics/tactics.ml')
-rw-r--r-- | tactics/tactics.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 9c2a1f6e3..3dd208acb 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -3657,11 +3657,13 @@ let abstract_subproof id tac = let solve_tac = tclCOMPLETE (tclTHEN (tclDO (List.length sign) intro) tac) in let (const, safe) = try Pfedit.build_constant_by_tactic id secsign concl solve_tac - with Proof_errors.TacticFailure e -> + with Proof_errors.TacticFailure e as src -> (* if the tactic [tac] fails, it reports a [TacticFailure e], which is an error irrelevant to the proof system (in fact it means that [e] comes from [tac] failing to yield enough success). Hence it reraises [e]. *) + let src = Errors.push src in + let e = Backtrace.app_backtrace ~src ~dst:e in raise e in let cd = Entries.DefinitionEntry const in |