diff options
| author | msozeau | 2008-01-18 00:12:05 +0000 |
|---|---|---|
| committer | msozeau | 2008-01-18 00:12:05 +0000 |
| commit | 72dccfa0f5edb59b1ba2668e91828742ab91bb1d (patch) | |
| tree | 46339464eee6a725dc9ae10d38bd8ae45e724e44 /tactics | |
| parent | edbb81e324234548c2bb70306fb448420e1bbd70 (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.ml | 13 |
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 |
