aboutsummaryrefslogtreecommitdiff
path: root/tactics/ftactic.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2014-09-18 17:18:34 +0200
committerPierre-Marie Pédrot2014-09-18 17:23:15 +0200
commit892c74d099fd9eda1e2f179645f7e1d9b67ba49b (patch)
treefdf2997401cd36359d4e976ac0c4a18bb7f38330 /tactics/ftactic.ml
parent6d549d3a2b0ab89c77e34646e866584522bd3591 (diff)
Fixing strange evarmap leak in goals.
Goals have to be refreshed when observed, because the evarmap may have changed between the moment where the goal was generated and the moment the goal is used.
Diffstat (limited to 'tactics/ftactic.ml')
-rw-r--r--tactics/ftactic.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/tactics/ftactic.ml b/tactics/ftactic.ml
index 43602d1fb6..d8b12fc4e4 100644
--- a/tactics/ftactic.ml
+++ b/tactics/ftactic.ml
@@ -40,12 +40,13 @@ let bind (type a) (type b) (m : a t) (f : a -> b t) : b t = m >>= function
let nf_enter f =
bind (Proofview.Goal.goals >>= fun l -> Proofview.tclUNIT (Depends l))
(fun gl ->
+ gl >>= fun gl ->
Proofview.Goal.normalize gl >>= fun nfgl ->
Proofview.V82.wrap_exceptions (fun () -> f nfgl))
let enter f =
bind (Proofview.Goal.goals >>= fun l -> Proofview.tclUNIT (Depends l))
- (fun gl -> Proofview.V82.wrap_exceptions (fun () -> f gl))
+ (fun gl -> gl >>= fun gl -> Proofview.V82.wrap_exceptions (fun () -> f gl))
let lift (type a) (t:a Proofview.tactic) : a t =
Proofview.tclBIND t (fun x -> Proofview.tclUNIT (Uniform x))