diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-09-26 13:07:52 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-09-26 13:07:52 +0000 |
commit | 8c6fb6f52db5bfda6cdfeb4f581da1332fb4a20b (patch) | |
tree | b1d59369165c2b22368662a13d1eb79971c247b1 /lib | |
parent | 9abfed86acb129d836423e73d05f1a53766c56a7 (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 'lib')
-rw-r--r-- | lib/util.ml | 2 | ||||
-rw-r--r-- | lib/util.mli | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index ddf44eec3..2815af014 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -20,6 +20,8 @@ exception UserError of string * std_ppcmds (* User errors *) let error string = raise (UserError(string, str string)) let errorlabstrm l pps = raise (UserError(l,pps)) +exception AnomalyOnError of string * exn + let todo s = prerr_string ("TODO: "^s^"\n") exception Timeout diff --git a/lib/util.mli b/lib/util.mli index 4579982bc..4e2bb6d33 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -26,6 +26,8 @@ exception UserError of string * std_ppcmds val error : string -> 'a val errorlabstrm : string -> std_ppcmds -> 'a +exception AnomalyOnError of string * exn + (* [todo] is for running of an incomplete code its implementation is "do nothing" (or print a message), but this function should not be used in a released code *) |