aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorherbelin2009-09-26 13:07:52 +0000
committerherbelin2009-09-26 13:07:52 +0000
commit8c6fb6f52db5bfda6cdfeb4f581da1332fb4a20b (patch)
treeb1d59369165c2b22368662a13d1eb79971c247b1 /toplevel
parent9abfed86acb129d836423e73d05f1a53766c56a7 (diff)
Fixed a hole in glob_tactic that allowed some Ltac code to refer to
statically unbound variables (revealed by an assert failure in Tacinterp.subst_rawconstr_and_expr). In particular, tauto's use of name "id" was bypassing the globalization phase (apparently in an safe way though). Added a new kind of anomaly usable in case an anomaly results of an unexpected exception. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12354 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/cerrors.ml3
1 files changed, 3 insertions, 0 deletions
diff --git a/toplevel/cerrors.ml b/toplevel/cerrors.ml
index dfedc178fb..08c0bac1c8 100644
--- a/toplevel/cerrors.ml
+++ b/toplevel/cerrors.ml
@@ -49,6 +49,9 @@ let rec explain_exn_default_aux anomaly_string report_fn = function
hov 0 (str "Timeout!")
| Anomaly (s,pps) ->
hov 0 (anomaly_string () ++ where s ++ pps ++ report_fn ())
+ | AnomalyOnError (s,exc) ->
+ hov 0 (anomaly_string () ++ str s ++ str ". Received exception is:" ++
+ fnl() ++ explain_exn_default_aux anomaly_string report_fn exc)
| Match_failure(filename,pos1,pos2) ->
hov 0 (anomaly_string () ++ str "Match failure in file " ++ str (guill filename) ++
if Sys.ocaml_version = "3.06" then