diff options
Diffstat (limited to 'library/library.ml')
-rw-r--r-- | library/library.ml | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/library/library.ml b/library/library.ml index 7de5a845d..0bd0b895c 100644 --- a/library/library.ml +++ b/library/library.ml @@ -76,9 +76,8 @@ let open_module s = exported in the dependencies (usually it is [true] at the highest level; it is always [false] in recursive loadings). *) -let load_objects s = - let m = find_module s in - segment_iter load_object m.module_declarations +let load_objects decls = + segment_iter load_object decls let rec load_module_from doexp s f = let (fname,ch) = raw_intern_module f in @@ -95,6 +94,8 @@ let rec load_module_from doexp s f = if s <> md.md_name then error ("The file " ^ fname ^ " does not contain module " ^ s); List.iter (load_mandatory_module doexp s) m.module_deps; + Global.import m.module_compiled_env; + load_objects m.module_declarations; Hashtbl.add modules_table s m; m |