Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Commit 69e74ea

Browse files
committed
Use package name even if package version is not available
The @SInCE stuff needs only the package name passed in, so it makes sense to not be forced to pass in a version too.
1 parent 4bfd611 commit 69e74ea

File tree

3 files changed

+15
-17
lines changed

3 files changed

+15
-17
lines changed

haddock-api/src/Haddock.hs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
270270
pkgKey = moduleUnitId pkgMod
271271
pkgStr = Just (unitIdString pkgKey)
272272
pkgNameVer = modulePackageInfo dflags flags pkgMod
273-
pkgName = fmap (unpackFS . (\(PackageName n) -> n) . fst) pkgNameVer
273+
pkgName = fmap (unpackFS . (\(PackageName n) -> n)) (fst pkgNameVer)
274274
sincePkg = case sinceQual of
275275
External -> pkgName
276276
Always -> Nothing
@@ -362,22 +362,19 @@ render dflags flags sinceQual qual ifaces installedIfaces extSrcMap = do
362362
-- might want to fix that if/when these two get some work on them
363363
when (Flag_Hoogle `elem` flags) $ do
364364
case pkgNameVer of
365-
Nothing -> putStrLn . unlines $
365+
(Just (PackageName pkgNameFS), Just pkgVer) ->
366+
let pkgNameStr | unpackFS pkgNameFS == "main" && title /= [] = title
367+
| otherwise = unpackFS pkgNameFS
368+
in ppHoogle dflags' pkgNameStr pkgVer title (fmap _doc prologue)
369+
visibleIfaces odir
370+
_ -> putStrLn . unlines $
366371
[ "haddock: Unable to find a package providing module "
367372
++ moduleNameString (moduleName pkgMod) ++ ", skipping Hoogle."
368373
, ""
369374
, " Perhaps try specifying the desired package explicitly"
370375
++ " using the --package-name"
371376
, " and --package-version arguments."
372377
]
373-
Just (PackageName pkgNameFS, pkgVer) ->
374-
let pkgNameStr | unpackFS pkgNameFS == "main" && title /= [] = title
375-
| otherwise = unpackFS pkgNameFS
376-
in withTiming (pure dflags') "ppHoogle" (const ()) $ do
377-
_ <- {-# SCC ppHoogle #-}
378-
ppHoogle dflags' pkgNameStr pkgVer title (fmap _doc prologue)
379-
visibleIfaces odir
380-
return ()
381378

382379
when (Flag_LaTeX `elem` flags) $ do
383380
withTiming (pure dflags') "ppLatex" (const ()) $ do

haddock-api/src/Haddock/Interface/Create.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ createInterface tm flags modMap instIfaceMap = do
8585
!instances = modInfoInstances mi
8686
!fam_instances = md_fam_insts md
8787
!exportedNames = modInfoExportsWithSelectors mi
88-
pkgNameVer = modulePackageInfo dflags flags mdl
89-
pkgName = fmap (unpackFS . (\(PackageName n) -> n) . fst) pkgNameVer
88+
(pkgNameFS, _) = modulePackageInfo dflags flags mdl
89+
pkgName = fmap (unpackFS . (\(PackageName n) -> n)) pkgNameFS
9090

9191
(TcGblEnv { tcg_rdr_env = gre
9292
, tcg_warns = warnings

haddock-api/src/Haddock/Options.hs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ module Haddock.Options (
4343
import qualified Data.Char as Char
4444
import Data.Version
4545
import Control.Applicative
46-
import Control.Arrow ( (&&&) )
4746
import Distribution.Verbosity
4847
import FastString
4948
import GHC ( DynFlags, Module, moduleUnitId )
@@ -373,8 +372,10 @@ modulePackageInfo :: DynFlags
373372
-- the package name or version provided by the user
374373
-- which we prioritise
375374
-> Module
376-
-> Maybe (PackageName, Data.Version.Version)
377-
modulePackageInfo dflags flags modu = cmdline <|> pkgDb
375+
-> (Maybe PackageName, Maybe Data.Version.Version)
376+
modulePackageInfo dflags flags modu =
377+
( optPackageName flags <|> fmap packageName pkgDb
378+
, optPackageVersion flags <|> fmap packageVersion pkgDb
379+
)
378380
where
379-
cmdline = (,) <$> optPackageName flags <*> optPackageVersion flags
380-
pkgDb = (packageName &&& packageVersion) <$> lookupPackage dflags (moduleUnitId modu)
381+
pkgDb = lookupPackage dflags (moduleUnitId modu)

0 commit comments

Comments
 (0)