From 0892990d7bbeb770de458a3b4ef2ffe34a1b11e3 Mon Sep 17 00:00:00 2001 From: ppedrot Date: Mon, 28 Jan 2013 21:06:02 +0000 Subject: Actually adding backtrace handling. I hope I did not forget some [with] clauses. Otherwise, some stack frame will be missing from the debug. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16167 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/system.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/system.ml') diff --git a/lib/system.ml b/lib/system.ml index dbab923af0..ed23bde197 100644 --- a/lib/system.ml +++ b/lib/system.ml @@ -142,7 +142,9 @@ let extern_intern ?(warn=true) magic suffix = marshal_out channel val_0; close_out channel with e -> - begin try_remove filename; raise e end + let e = Errors.push e in + let () = try_remove filename in + raise e with Sys_error s -> error ("System error: " ^ s) and intern_state paths name = try -- cgit v1.2.3