diff options
author | Enrico Tassi <Enrico.Tassi@inria.fr> | 2015-04-21 17:43:01 +0200 |
---|---|---|
committer | Enrico Tassi <Enrico.Tassi@inria.fr> | 2015-04-21 17:43:08 +0200 |
commit | 2a5fd12d597d4337810ae367ea3a49720ee3d80c (patch) | |
tree | db33e0258a98e5e9715d0d2dc0bd4ecd3629b77c | |
parent | a45bd5981092cceefc4d4d30f9be327bb69c22d8 (diff) |
STM: print trace on "anomaly, no safe id attached"
-rw-r--r-- | lib/errors.ml | 2 | ||||
-rw-r--r-- | lib/errors.mli | 1 | ||||
-rw-r--r-- | stm/stm.ml | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/lib/errors.ml b/lib/errors.ml index a4ec357ee..13f391647 100644 --- a/lib/errors.ml +++ b/lib/errors.ml @@ -99,6 +99,8 @@ let iprint (e, info) = print ~info e (** Same as [print], except that the "Please report" part of an anomaly isn't printed (used in Ltac debugging). *) let print_no_report e = print_gen (print_anomaly false) !handle_stack e +let iprint_no_report (e, info) = + print_gen (print_anomaly false) !handle_stack e ++ print_backtrace info (** Predefined handlers **) diff --git a/lib/errors.mli b/lib/errors.mli index 03caa6a9f..5bd572474 100644 --- a/lib/errors.mli +++ b/lib/errors.mli @@ -80,6 +80,7 @@ val iprint : Exninfo.iexn -> Pp.std_ppcmds (** Same as [print], except that the "Please report" part of an anomaly isn't printed (used in Ltac debugging). *) val print_no_report : exn -> Pp.std_ppcmds +val iprint_no_report : Exninfo.iexn -> Pp.std_ppcmds (** Critical exceptions should not be caught and ignored by mistake by inner functions during a [vernacinterp]. They should be handled diff --git a/stm/stm.ml b/stm/stm.ml index 38745e227..f36b757f2 100644 --- a/stm/stm.ml +++ b/stm/stm.ml @@ -2018,7 +2018,7 @@ let handle_failure (e, info) vcs tty = end; VCS.print (); anomaly(str"error with no safe_id attached:" ++ spc() ++ - Errors.print_no_report e) + Errors.iprint_no_report (e, info)) | Some (safe_id, id) -> prerr_endline ("Failed at state " ^ Stateid.to_string id); VCS.restore vcs; |