diff options
author | soubiran <soubiran@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-04-03 16:44:48 +0000 |
---|---|---|
committer | soubiran <soubiran@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-04-03 16:44:48 +0000 |
commit | ec3f3aed78e6c31ce819723a35efd68474d8c006 (patch) | |
tree | d13ad8db358ebbea43e397791eb56d547cc3e07f /library/declaremods.ml | |
parent | aaf57375ce16ecc78397dc1754de09db86e671a0 (diff) |
Correction bug 1818, 3eme commentaire. mauvaise generation de substitution a l'application du foncteur.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10747 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library/declaremods.ml')
-rw-r--r-- | library/declaremods.ml | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/library/declaremods.ml b/library/declaremods.ml index 7c228741b..bc1fa6f24 100644 --- a/library/declaremods.ml +++ b/library/declaremods.ml @@ -287,6 +287,8 @@ let subst_substobjs dir mp (subst,mbids,msid,objs) = match mbids with | [] -> let prefix = dir,(mp,empty_dirpath) in + let subst' = join_alias (map_msid msid mp) subst in + let subst = join subst' subst in Some (subst_objects prefix (join (map_msid msid mp) subst) objs) | _ -> None @@ -355,14 +357,16 @@ let subst_module_alias ((sp,kn),subst,(entry,substobjs,_)) = begin match me with |{mod_entry_type = None; - mod_entry_expr = Some (MSEident mp)} -> - let mp = subst_mp subst' mp in + mod_entry_expr = Some (MSEident mp')} -> + let mp' = subst_mp subst' mp' in (Some ({mod_entry_type = None; mod_entry_expr = - Some (MSEident mp)},sub), + Some (MSEident mp')},sub), substobjs, match mbids with | [] -> - Some (subst_objects prefix (join (map_msid msid mp) subst) objs) + Some (subst_objects prefix + (join (map_mp mp mp') + (join (map_msid msid mp') subst)) objs) | _ -> None) | _ -> anomaly "Modops: Not an alias" |