From 0b936be00d2c7c05d528b8d7304fc1e14d5546a5 Mon Sep 17 00:00:00 2001 From: aspiwack Date: Sat, 2 Nov 2013 15:41:46 +0000 Subject: Doc: solve the bad interaction between Declare Implicit Tactic and refine. An implicit tactic was declared and made refine fail (trying to solve the open goals of the refined term resulted in an error). There was no way to remove the implicit tactic (it isn't managed by an option so isn't removed by Reset Initial). I added the option under the name Clear Implicit Tactic. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@17032 85f007b7-540e-0410-9357-904b9bb8a0f7 --- proofs/pfedit.ml | 2 ++ proofs/pfedit.mli | 10 ++++++++++ 2 files changed, 12 insertions(+) (limited to 'proofs') diff --git a/proofs/pfedit.ml b/proofs/pfedit.ml index 5d053e4c87..8a52244df2 100644 --- a/proofs/pfedit.ml +++ b/proofs/pfedit.ml @@ -154,6 +154,8 @@ let implicit_tactic = ref None let declare_implicit_tactic tac = implicit_tactic := Some tac +let clear_implicit_tactic () = implicit_tactic := None + let solve_by_implicit_tactic env sigma evk = let evi = Evd.find_undefined sigma evk in match (!implicit_tactic, snd (evar_source evk sigma)) with diff --git a/proofs/pfedit.mli b/proofs/pfedit.mli index f7c7b36537..6dad738afb 100644 --- a/proofs/pfedit.mli +++ b/proofs/pfedit.mli @@ -166,5 +166,15 @@ val build_by_tactic : env -> types -> unit Proofview.tactic -> constr * bool val declare_implicit_tactic : unit Proofview.tactic -> unit +(** To remove the default tactic *) +val clear_implicit_tactic : unit -> unit + (* Raise Exit if cannot solve *) val solve_by_implicit_tactic : env -> Evd.evar_map -> Evd.evar -> constr + + + + + + + -- cgit v1.2.3