aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2016-03-20 16:59:15 +0100
committerPierre-Marie Pédrot2016-03-20 21:26:40 +0100
commitdc7b77f09fe5e59e6e48486d9a8c0bdc6acf83b7 (patch)
tree1314b0f8a4f296f01b492cbd6db3549cba78f1b9 /tactics
parent6de9f13ba666250ea397c7db1d9d37075a9dc1c2 (diff)
Adding a new Ltac generic argument for forced tactics returing unit.
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacintern.ml1
-rw-r--r--tactics/tacinterp.ml4
-rw-r--r--tactics/tacsubst.ml1
3 files changed, 6 insertions, 0 deletions
diff --git a/tactics/tacintern.ml b/tactics/tacintern.ml
index 89dc843cb8..a75805b4f8 100644
--- a/tactics/tacintern.ml
+++ b/tactics/tacintern.ml
@@ -795,6 +795,7 @@ let () =
Genintern.register_intern0 wit_ident intern_ident';
Genintern.register_intern0 wit_var (lift intern_hyp);
Genintern.register_intern0 wit_tactic (lift intern_tactic_or_tacarg);
+ Genintern.register_intern0 wit_ltac (lift intern_tactic_or_tacarg);
Genintern.register_intern0 wit_sort (fun ist s -> (ist, s));
Genintern.register_intern0 wit_quant_hyp (lift intern_quantified_hypothesis);
Genintern.register_intern0 wit_constr (fun ist c -> (ist,intern_constr ist c));
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 5dab244afa..8afc73526e 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -2144,6 +2144,10 @@ let () =
Geninterp.register_interp0 wit_tactic interp
let () =
+ let interp ist tac = interp_tactic ist tac >>= fun () -> Ftactic.return () in
+ Geninterp.register_interp0 wit_ltac interp
+
+let () =
Geninterp.register_interp0 wit_uconstr (fun ist c -> Ftactic.nf_enter { enter = begin fun gl ->
Ftactic.return (interp_uconstr ist (Proofview.Goal.env gl) c)
end })
diff --git a/tactics/tacsubst.ml b/tactics/tacsubst.ml
index 55941c1ca6..4059877b75 100644
--- a/tactics/tacsubst.ml
+++ b/tactics/tacsubst.ml
@@ -299,6 +299,7 @@ let () =
Genintern.register_subst0 wit_var (fun _ v -> v);
Genintern.register_subst0 wit_intro_pattern (fun _ v -> v);
Genintern.register_subst0 wit_tactic subst_tactic;
+ Genintern.register_subst0 wit_ltac subst_tactic;
Genintern.register_subst0 wit_constr subst_glob_constr;
Genintern.register_subst0 wit_sort (fun _ v -> v);
Genintern.register_subst0 wit_clause_dft_concl (fun _ v -> v);