aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics/tacinterp.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-08-07 16:42:39 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-08-07 16:51:36 +0200
commit21994cc4c617582f4f94577c1c582a7b51b7770b (patch)
tree6b8800bd453bf610576c51d2f0a51f64d833a3c0 /tactics/tacinterp.ml
parente71a7e83c14a4ae77bbabcbf9c67a9cb55995bb5 (diff)
Better structure for Ltac pretyping environments.
Diffstat (limited to 'tactics/tacinterp.ml')
-rw-r--r--tactics/tacinterp.ml12
1 files changed, 10 insertions, 2 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 4372f87a4..35f36f008 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -485,7 +485,11 @@ let interp_uconstr ist env = function
let interp_gen kind ist allow_patvar flags env sigma (c,ce) =
let constrvars = extract_ltac_constr_values ist env in
- let vars = (constrvars, Id.Map.empty, ist.lfun) in
+ let vars = {
+ Pretyping.ltac_constrs = constrvars;
+ Pretyping.ltac_uconstrs = Id.Map.empty;
+ Pretyping.ltac_genargs = ist.lfun;
+ } in
let c = match ce with
| None -> c
(* If at toplevel (ce<>None), the error can be due to an incorrect
@@ -1185,7 +1189,11 @@ and interp_tacarg ist arg : typed_generic_argument GTac.t =
let sigma = Proofview.Goal.sigma gl in
let env = Proofview.Goal.env gl in
let {closure;term} = interp_uconstr ist env c in
- let vars = closure.typed , closure.untyped , ist.lfun in
+ let vars = {
+ Pretyping.ltac_constrs = closure.typed;
+ Pretyping.ltac_uconstrs = closure.untyped;
+ Pretyping.ltac_genargs = ist.lfun;
+ } in
let (sigma,c_interp) =
Pretyping.understand_ltac constr_flags sigma env vars WithoutTypeConstraint term
in