diff options
Diffstat (limited to 'tactics/evar_tactics.ml')
-rw-r--r-- | tactics/evar_tactics.ml | 8 |
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 |