aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsozeau2011-03-10 17:17:06 +0000
committermsozeau2011-03-10 17:17:06 +0000
commit36b8aa6b0a6302e1675df623bf28e86029bb40f5 (patch)
tree250ad309844d8b1472dcd81a3292cd8447fe019a
parent8a78cc1f4cc51423a5eccfd2d07a2133a84f670b (diff)
Forgot a use of evars_reset_evd in nf_evars, add an optional argument as
in the 8.3 patch. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13903 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--pretyping/evd.ml4
-rw-r--r--pretyping/evd.mli2
-rw-r--r--proofs/clenv.ml2
-rw-r--r--tactics/class_tactics.ml42
4 files changed, 6 insertions, 4 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 706a93527c..33ad751523 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -414,7 +414,9 @@ let empty = {
metas=Metamap.empty
}
-let evars_reset_evd evd d = {d with evars = evd.evars; conv_pbs = evd.conv_pbs}
+let evars_reset_evd ?(with_conv_pbs=false) evd d =
+ {d with evars = evd.evars;
+ conv_pbs = if with_conv_pbs then evd.conv_pbs else d.conv_pbs }
let add_conv_pb pb d = {d with conv_pbs = pb::d.conv_pbs}
let evar_source evk d = (EvarMap.find d.evars evk).evar_source
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index 8c31d6af3e..e5a40b5a14 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -177,7 +177,7 @@ val existential_opt_value : evar_map -> existential -> constr option
val subst_evar_defs_light : substitution -> evar_map -> evar_map
(** spiwack: this function seems to somewhat break the abstraction. *)
-val evars_reset_evd : evar_map -> evar_map -> evar_map
+val evars_reset_evd : ?with_conv_pbs:bool -> evar_map -> evar_map -> evar_map
(* spiwack: [is_undefined_evar] should be considered a candidate
diff --git a/proofs/clenv.ml b/proofs/clenv.ml
index 8c4faa11cf..687bf32c62 100644
--- a/proofs/clenv.ml
+++ b/proofs/clenv.ml
@@ -328,7 +328,7 @@ let evar_clenv_unique_resolver = clenv_unique_resolver
(******************************************************************)
let connect_clenv gls clenv =
- let evd = evars_reset_evd gls.sigma clenv.evd in
+ let evd = evars_reset_evd ~with_conv_pbs:true gls.sigma clenv.evd in
{ clenv with
evd = evd ;
env = Goal.V82.env evd (sig_it gls) }
diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4
index 71bae61eef..cf7faed905 100644
--- a/tactics/class_tactics.ml4
+++ b/tactics/class_tactics.ml4
@@ -411,7 +411,7 @@ let run_on_evars ?(only_classes=true) ?(st=full_transparent_state) p evm tac =
let res = run_list_tac tac p goals (make_autogoals ~only_classes ~st goals evm') in
match get_result res with
| None -> raise Not_found
- | Some (evm', fk) -> Some (evars_reset_evd evm' evm, fk)
+ | Some (evm', fk) -> Some (evars_reset_evd ~with_conv_pbs:true evm' evm, fk)
let eauto_tac hints =
fix (or_tac (then_tac normevars_tac (hints_tac hints)) intro_tac)