aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorgmelquio2009-10-06 16:56:03 +0000
committergmelquio2009-10-06 16:56:03 +0000
commit99e196294f3de42f5f7285cbc7fa40f8171026a6 (patch)
tree86304c3635a2ffd2f78bdc1c427ad198445c59ec /tactics
parentdd7a12f1a2caddef510ad857f0183ae3501b05ac (diff)
Relaxed error severity when encountering unknown library objects or tactic
extensions. This makes it possible to load .vo compiled with a nonstandard toplevel, e.g. ssreflect, which defines new tactics and new hint databases. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12375 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacinterp.ml8
1 files changed, 7 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 770b4a0e60..a7d0413230 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -281,7 +281,13 @@ let add_interp_genarg id f =
extragenargtab := Gmap.add id f !extragenargtab
let lookup_genarg id =
try Gmap.find id !extragenargtab
- with Not_found -> failwith ("No interpretation function found for entry "^id)
+ with Not_found ->
+ let msg = "No interpretation function found for entry " ^ id in
+ warning msg;
+ let f = (fun _ _ -> failwith msg), (fun _ _ _ -> failwith msg), (fun _ a -> a) in
+ add_interp_genarg id f;
+ f
+
let lookup_genarg_glob id = let (f,_,_) = lookup_genarg id in f
let lookup_interp_genarg id = let (_,f,_) = lookup_genarg id in f