aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
Diffstat (limited to 'tactics')
-rw-r--r--tactics/class_tactics.ml45
1 files changed, 4 insertions, 1 deletions
diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4
index 9457403cc9..a353a4222f 100644
--- a/tactics/class_tactics.ml4
+++ b/tactics/class_tactics.ml4
@@ -450,7 +450,10 @@ let select_evars evs evm =
let resolve_all_evars debug m env p oevd do_split fail =
let oevm = Evd.evars_of oevd in
let split = if do_split then split_evars (Evd.evars_of (Evd.undefined_evars oevd)) else [Intset.empty] in
- let p = if do_split then fun comp ev evi -> Intset.mem ev comp && p ev evi else fun _ -> p in
+ let p = if do_split then
+ fun comp ev evi -> (Intset.mem ev comp || not (Evd.mem oevm ev)) && p ev evi
+ else fun _ -> p
+ in
let rec aux n p evd =
if has_undefined p oevm evd then
if n > 0 then