diff options
| author | Guillaume Melquiond | 2015-12-31 17:02:00 +0100 |
|---|---|---|
| committer | Guillaume Melquiond | 2015-12-31 17:02:00 +0100 |
| commit | 5319465eb1eaf89410dac96cd14b14b9b95601e7 (patch) | |
| tree | b52306041b4351e6a01984d391da3a82af82ec11 /engine | |
| parent | 1a157442dff4bfa127af467c49280e79889acde7 (diff) | |
| parent | d3bc575c498ae09ad1003405d17a9d5cfbcf3cbf (diff) | |
Merge branch 'v8.5' into trunk
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/evd.ml | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engine/evd.ml b/engine/evd.ml index 6651ff5f63..d91b90caa2 100644 --- a/engine/evd.ml +++ b/engine/evd.ml @@ -462,7 +462,12 @@ let new_evar evd ?naming evi = let remove d e = let undf_evars = EvMap.remove e d.undf_evars in let defn_evars = EvMap.remove e d.defn_evars in - { d with undf_evars; defn_evars; } + let principal_future_goal = match d.principal_future_goal with + | None -> None + | Some e' -> if Evar.equal e e' then None else d.principal_future_goal + in + let future_goals = List.filter (fun e' -> not (Evar.equal e e')) d.future_goals in + { d with undf_evars; defn_evars; principal_future_goal; future_goals } let find d e = try EvMap.find e d.undf_evars |
