diff options
author | simonmar <unknown> | 2002-04-08 16:39:56 +0000 |
---|---|---|
committer | simonmar <unknown> | 2002-04-08 16:39:56 +0000 |
commit | ec9a084726e11763598f4be02b5d3fdb9380bdd5 (patch) | |
tree | 486ef274f2e96d84b3adcd0214e998a8444d8197 /src/Main.hs | |
parent | 9acd3a4d58d3e91ba0d74612b9574231ccfd98f4 (diff) |
[haddock @ 2002-04-08 16:39:56 by simonmar]
Fix a problem with exports of the form T(..).
Diffstat (limited to 'src/Main.hs')
-rw-r--r-- | src/Main.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Main.hs b/src/Main.hs index e346cab5..218528bc 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -291,7 +291,8 @@ exportedNames mod mod_scope decls local_names (Just expspecs) decl_map HsEAbs t -> [t] HsEThingAll t | Just decl <- export_lookup t - -> t : map (Qual mod) (declBinders decl) + -> t : map (Qual t_mod) (declBinders decl) + where t_mod = case t of Qual m _ -> m; otherwise -> mod HsEThingWith t cs -> t : cs HsEModuleContents m | m == mod -> map (Qual mod) local_names @@ -306,7 +307,7 @@ exportedNames mod mod_scope decls local_names (Just expspecs) decl_map = trace ("Warning(exportedNames): UnQual! " ++ show n) $ Nothing export_lookup (Qual m n) | m == mod = lookupFM decl_map n - | otherwise + | otherwise = case lookupFM mod_scope m of Just iface -> lookupFM (iface_decls iface) n Nothing -> trace ("Warning: module not found: " ++ show m) |