From ec9a084726e11763598f4be02b5d3fdb9380bdd5 Mon Sep 17 00:00:00 2001 From: simonmar Date: Mon, 8 Apr 2002 16:39:56 +0000 Subject: [haddock @ 2002-04-08 16:39:56 by simonmar] Fix a problem with exports of the form T(..). --- src/Main.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') 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) -- cgit v1.2.3