diff options
author | David Waern <david.waern@gmail.com> | 2008-10-20 21:13:24 +0000 |
---|---|---|
committer | David Waern <david.waern@gmail.com> | 2008-10-20 21:13:24 +0000 |
commit | 6540f377aa3aae38fb397b0353a7637b20767340 (patch) | |
tree | a91ebbb700008ab3b24433ab4b16c0e403960851 /src/Main.hs | |
parent | f8a9a5dddd823dccf9e1ba723f0f2c500e4cc6a9 (diff) |
Do not save hidden modules in the .haddock file
We were saving interfaces of all processed modules including those hidden using
{-# OPTIONS_HADDOCK hide #-} in the .haddock file. This caused broken links
when generating the index for the libraries that come with GHC.
This patch excludes modules with hidden documentation when writing .haddock
files. It should fix the above problem.
Diffstat (limited to 'src/Main.hs')
-rw-r--r-- | src/Main.hs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Main.hs b/src/Main.hs index fb1c54fd..75482481 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -191,11 +191,13 @@ main = handleTopExceptions $ do -- create the interfaces -- this is the core part of Haddock (interfaces, homeLinks) <- createInterfaces session fileArgs extLinks flags + let visibleIfaces = [ i | i <- interfaces, OptHide `notElem` ifaceOptions i ] + -- render the interfaces - renderStep packages interfaces + renderStep packages visibleIfaces -- last but not least, dump the interface file - dumpInterfaceFile (map toInstalledIface interfaces) homeLinks flags + dumpInterfaceFile (map toInstalledIface visibleIfaces) homeLinks flags #endif else do -- get packages supplied with --read-interface @@ -212,7 +214,7 @@ main = handleTopExceptions $ do -- | Render the interfaces with whatever backend is specified in the flags render :: [Flag] -> [Interface] -> [InstalledInterface] -> IO () -render flags interfaces installedIfaces = do +render flags visibleIfaces installedIfaces = do let title = case [str | Flag_Heading str <- flags] of [] -> "" @@ -267,9 +269,6 @@ render flags interfaces installedIfaces = do prologue <- getPrologue flags let - -- visible home-module interfaces - visibleIfaces = [ m | m <- interfaces, OptHide `notElem` (ifaceOptions m) ] - -- *all* visible interfaces including external package modules allVisibleIfaces = map toInstalledIface visibleIfaces ++ installedIfaces |