diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-04-11 14:27:24 +0200 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-04-24 17:59:21 +0200 |
commit | d272cd02ef9ba2509c266f58ee39f51106ae53c2 (patch) | |
tree | 506223959f09e7c9f8f2b4d6ac6c4261daf9480a /tactics/tacticals.ml | |
parent | 1ef92c718ece547826f4c7e5c1ce78a6965e1ca6 (diff) |
Fix the API of the new pf_constr_of_global.
The current implementation was still using continuation passing-style, and
furthermore was triggering a focus on the goals. We take advantage of the
tactic features instead.
Diffstat (limited to 'tactics/tacticals.ml')
-rw-r--r-- | tactics/tacticals.ml | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/tactics/tacticals.ml b/tactics/tacticals.ml index 5c97f27ba..c8441a8cc 100644 --- a/tactics/tacticals.ml +++ b/tactics/tacticals.ml @@ -732,13 +732,11 @@ module New = struct let case_nodep_then_using = general_elim_then_using gl_make_case_nodep false - let pf_constr_of_global ref tac = - Proofview.Goal.enter { enter = begin fun gl -> - let env = Proofview.Goal.env gl in - let sigma = Tacmach.New.project gl in - let (sigma, c) = Evd.fresh_global env sigma ref in - let c = EConstr.of_constr c in - Proofview.Unsafe.tclEVARS sigma <*> (tac c) - end } + let pf_constr_of_global ref = + Proofview.tclEVARMAP >>= fun sigma -> + Proofview.tclENV >>= fun env -> + let (sigma, c) = Evd.fresh_global env sigma ref in + let c = EConstr.of_constr c in + Proofview.Unsafe.tclEVARS sigma <*> Proofview.tclUNIT c end |