aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics/tactics.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-04-25 13:59:39 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-04-25 14:00:43 +0200
commitb35edb34769fecd4dbdf7030222ba3078eab1c93 (patch)
tree0efb56c5711b0a2d9ae8eef5b7792b734899f2be /tactics/tactics.ml
parenta5e0b28f9344744edf2209001fe047b1535775f6 (diff)
Fixing various backtrace recordings.
Diffstat (limited to 'tactics/tactics.ml')
-rw-r--r--tactics/tactics.ml4
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