diff options
| -rw-r--r-- | src/Main.hs | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/src/Main.hs b/src/Main.hs index 214c0001..dcaf1fcc 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -410,7 +410,7 @@ mkExportItems mod_map this_mod orig_env decl_map sub_map decls          return (concat exps)    where      everything_local_exported =  -- everything exported -	return (fullContentsOfThisModule this_mod decl_map) +	return (fullContentsOfThisModule this_mod decls)      lookupExport (HsEVar x)            = declWith x (Just [])      lookupExport (HsEAbs t)            = declWith t (Just []) @@ -449,7 +449,7 @@ mkExportItems mod_map this_mod orig_env decl_map sub_map decls  		       | otherwise       = all_subs_of_qname mod_map t      fullContentsOf m -	| m == this_mod  = return (fullContentsOfThisModule this_mod decl_map) +	| m == this_mod  = return (fullContentsOfThisModule this_mod decls)  	| otherwise =   	   case lookupFM mod_map m of  	     Just iface @@ -469,10 +469,11 @@ mkExportItems mod_map this_mod orig_env decl_map sub_map decls  		Just iface -> lookupFM (iface_decls iface) n  		Nothing -> Nothing -fullContentsOfThisModule mod decl_map =  -  map mkExportItem (filter (keepDecl.snd) (fmToList decl_map)) -  where mkExportItem (x,HsDocGroup loc lev doc) = ExportGroup lev "" doc -	mkExportItem (x,decl) = ExportDecl (Qual mod x) decl +fullContentsOfThisModule mod decls =  +  map mkExportItem (filter keepDecl decls) +  where mkExportItem (HsDocGroup loc lev doc) = ExportGroup lev "" doc +	mkExportItem decl = ExportDecl (Qual mod x) decl +	     where Just x = declMainBinder decl  keepDecl HsTypeSig{}       = True  keepDecl HsTypeDecl{}      = True | 
