aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authormsozeau2008-01-18 00:12:05 +0000
committermsozeau2008-01-18 00:12:05 +0000
commit72dccfa0f5edb59b1ba2668e91828742ab91bb1d (patch)
tree46339464eee6a725dc9ae10d38bd8ae45e724e44 /tactics
parentedbb81e324234548c2bb70306fb448420e1bbd70 (diff)
Change notation for setoid inequality, coerce objects before comparing them. Debug tactic redefinition code, streamline Instantiation Tactic implementation using that. Have to adapt obligations tactic still.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10449 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacinterp.ml13
1 files changed, 11 insertions, 2 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index dbb4648bc8..0a600bc64a 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -2593,6 +2593,7 @@ let load_md i ((sp,kn),defs) =
Nametab.push_tactic (Until i) sp kn;
add (kn,t)
| UpdateTac kn ->
+ mactab := Gmap.remove kn !mactab;
add (kn,t)) defs
let open_md i((sp,kn),defs) =
@@ -2604,12 +2605,20 @@ let open_md i((sp,kn),defs) =
let sp = Libnames.make_path dp id in
let kn = Names.make_kn mp dir (label_of_id id) in
Nametab.push_tactic (Exactly i) sp kn
- | UpdateTac kn -> ()) defs
+ | UpdateTac kn ->
+ let (path, id) = decode_kn kn in
+ let sp = Libnames.make_path path id in
+ Nametab.push_tactic (Exactly i) sp kn) defs
let cache_md x = load_md 1 x
+let subst_kind subst id =
+ match id with
+ | NewTac _ -> id
+ | UpdateTac kn -> UpdateTac (Mod_subst.subst_kn subst kn)
+
let subst_md (_,subst,defs) =
- List.map (fun (id,t) -> (id,subst_tactic subst t)) defs
+ List.map (fun (id,t) -> (subst_kind subst id,subst_tactic subst t)) defs
let (inMD,outMD) =
declare_object {(default_object "TAC-DEFINITION") with