diff --git a/src/System/Plugins/Env.hs b/src/System/Plugins/Env.hs index e9294e8..87b3946 100644 --- a/src/System/Plugins/Env.hs +++ b/src/System/Plugins/Env.hs @@ -157,7 +157,7 @@ env = unsafePerformIO $ do ref2 <- newIORef emptyFM p <- grabDefaultPkgConf ref3 <- newIORef p -- package.conf info - ref4 <- newIORef (S.fromList ["base","Cabal","haskell-src"]) + ref4 <- newIORef (S.fromList ["base","Cabal-1.1.6","haskell-src-1.0"]) -- FIXME ref5 <- newIORef emptyFM -- merged files return (mvar, ref1, ref2, ref3, ref4, ref5) {-# NOINLINE env #-} @@ -284,7 +284,9 @@ addPkgConf f = do union :: PkgEnvs -> [PackageConfig] -> PkgEnvs union ls ps' = let fm = emptyFM -- new FM for this package.conf - in foldr (\p fm' -> addToFM fm' (packageName p) p) fm ps' : ls + in foldr (\p fm' -> if packageName_ p == "base" + then addToFM fm' (packageName_ p) p + else addToFM fm' (packageName p) p) fm ps' : ls -- -- | generate a PkgEnv from the system package.conf diff --git a/src/System/Plugins/Load.hs b/src/System/Plugins/Load.hs index 5be2ee5..1374eb3 100644 --- a/src/System/Plugins/Load.hs +++ b/src/System/Plugins/Load.hs @@ -413,7 +413,7 @@ loadFunction_ :: String -> String -> IO (Maybe a) loadFunction_ m valsym - = do let symbol = prefixUnderscore++m++"_"++(encode valsym)++"_closure" + = do let symbol = prefixUnderscore++encode m++"_"++(encode valsym)++"_closure" #if DEBUG putStrLn $ "Looking for <<"++symbol++">>" #endif