diff options
author | 2012-07-06 11:24:29 +0000 | |
---|---|---|
committer | 2012-07-06 11:24:29 +0000 | |
commit | 3e7c148472265c6066633bf39a63bfe387ba9351 (patch) | |
tree | 4aad6ed605687152bd16e3d3100a74a92dcc082e | |
parent | 843aa67736fad6efae3be67dba909164394674e9 (diff) |
Fixes bug #2678
Some "dependent evars" were forgotten in the emacs mode.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15530 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | pretyping/evarutil.ml | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pretyping/evarutil.ml b/pretyping/evarutil.ml index b8f216ad4..7a9b41559 100644 --- a/pretyping/evarutil.ml +++ b/pretyping/evarutil.ml @@ -1804,7 +1804,11 @@ let rec add_evars_of_evars_in_types_of_set acc evm s = let r = add_evars_of_evars_in_type r evm e in match (Evd.find evm e).evar_body with | Evar_empty -> r - | Evar_defined b -> add_evars_of_evars_in_types_of_set r evm (evars_of_term b) + | Evar_defined b -> + (* Adds the evars used to define [b] to the binding map. *) + let r = add_evars_of_evars_of_term r evm b in + (* Goes recursively in the [evar_info] of each of these evar. *) + add_evars_of_evars_in_types_of_set r evm (evars_of_term b) end s acc let evars_of_evars_in_types_of_list evm l = |