aboutsummaryrefslogtreecommitdiff
path: root/proofs
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2014-02-02 17:59:39 +0100
committerPierre-Marie Pédrot2014-02-02 18:00:16 +0100
commit2800a82dec607120fd2a378f7ac3bf4d6e8df18c (patch)
tree3c705ce344052c3849e39a4394326ee593e5b434 /proofs
parente307d0ae873b8b104b9b7cc3bcd538e5faa8456e (diff)
Fixing backtrace reporting.
Diffstat (limited to 'proofs')
-rw-r--r--proofs/proofview_gen.ml13
1 files changed, 11 insertions, 2 deletions
diff --git a/proofs/proofview_gen.ml b/proofs/proofview_gen.ml
index 90266c6d09..92012d58b1 100644
--- a/proofs/proofview_gen.ml
+++ b/proofs/proofview_gen.ml
@@ -49,7 +49,12 @@ module IOBase =
(** val catch : 'a1 coq_T -> (exn -> 'a1 coq_T) -> 'a1 coq_T **)
- let catch = fun s h -> (); fun () -> try s () with Proof_errors.Exception e -> let e = Errors.push e in h e ()
+ let catch = fun s h -> ();
+ fun () -> try s ()
+ with Proof_errors.Exception e as src ->
+ let src = Errors.push src in
+ let e = Backtrace.app_backtrace ~src ~dst:e in
+ h e ()
(** val read_line : string coq_T **)
@@ -167,7 +172,11 @@ module NonLogical =
(** val run : 'a1 t -> 'a1 **)
- let run = fun x -> try x () with Proof_errors.Exception e -> let e = Errors.push e in Pervasives.raise e
+ let run = fun x ->
+ try x () with Proof_errors.Exception e as src ->
+ let src = Errors.push src in
+ let e = Backtrace.app_backtrace ~src ~dst:e in
+ Pervasives.raise e
end
module Logical =