summaryrefslogtreecommitdiff
path: root/tactics/evar_tactics.ml
diff options
context:
space:
mode:
Diffstat (limited to 'tactics/evar_tactics.ml')
-rw-r--r--tactics/evar_tactics.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/tactics/evar_tactics.ml b/tactics/evar_tactics.ml
index 43c18a8b..67b89888 100644
--- a/tactics/evar_tactics.ml
+++ b/tactics/evar_tactics.ml
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(* $Id: evar_tactics.ml 11576 2008-11-10 19:13:15Z msozeau $ *)
+(* $Id: evar_tactics.ml 12102 2009-04-24 10:48:11Z herbelin $ *)
open Term
open Util
@@ -29,7 +29,7 @@ let evar_list evc c =
in
evrec [] c
-let instantiate n rawc ido gl =
+let instantiate n (ist,rawc) ido gl =
let sigma = gl.sigma in
let evl =
match ido with
@@ -52,7 +52,9 @@ let instantiate n rawc ido gl =
error "not enough uninstantiated existential variables";
if n <= 0 then error "Incorrect existential variable index.";
let ev,_ = destEvar (List.nth evl (n-1)) in
- let evd' = w_refine ev rawc (create_goal_evar_defs sigma) in
+ let env = Evd.evar_env (Evd.find sigma ev) in
+ let ltac_vars = Tacinterp.extract_ltac_vars ist sigma env in
+ let evd' = w_refine ev (ltac_vars,rawc) (create_goal_evar_defs sigma) in
tclTHEN
(tclEVARS (evars_of evd'))
tclNORMEVAR