aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar puech <puech@85f007b7-540e-0410-9357-904b9bb8a0f7>2009-10-28 13:36:28 +0000
committerGravatar puech <puech@85f007b7-540e-0410-9357-904b9bb8a0f7>2009-10-28 13:36:28 +0000
commitd06e75b5011ba29119d868e904138b5c3e2e8215 (patch)
treea92eded895e37556db3237f2161e3857b52d7434
parente93d18133d7f6d11bb8676ccbed982db8c7c24d6 (diff)
Fix incorrect registration of objects in libtypes.ml when defining a module.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12432 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--library/declare.ml10
1 files changed, 6 insertions, 4 deletions
diff --git a/library/declare.ml b/library/declare.ml
index dd1b12a24..cf2f1fbae 100644
--- a/library/declare.ml
+++ b/library/declare.ml
@@ -101,9 +101,10 @@ let load_constant i ((sp,kn),(_,_,kind)) =
errorlabstrm "cache_constant"
(pr_id (basename sp) ++ str " already exists");
let con = Global.constant_of_delta (constant_of_kn kn) in
- Nametab.push (Nametab.Until i) sp (ConstRef con);
- add_constant_kind con kind
-
+ Nametab.push (Nametab.Until i) sp (ConstRef con);
+ add_constant_kind con kind;
+ !cache_hook sp
+
(* Opening means making the name without its module qualification available *)
let open_constant i ((sp,kn),_) =
let con = constant_of_kn kn in
@@ -219,7 +220,8 @@ let check_exists_inductive (sp,_) =
let load_inductive i ((sp,kn),(_,mie)) =
let names = inductive_names sp kn mie in
List.iter check_exists_inductive names;
- List.iter (fun (sp, ref) -> Nametab.push (Nametab.Until i) sp ref ) names
+ List.iter (fun (sp, ref) -> Nametab.push (Nametab.Until i) sp ref ) names;
+ List.iter (fun (sp,_) -> !cache_hook sp) (inductive_names sp kn mie)
let open_inductive i ((sp,kn),(_,mie)) =
let names = inductive_names sp kn mie in