diffing dir...
Sat May 22 17:41:30 EDT 2010 Axe...@in...
* Fix the way c2hs handles file paths.
{
hunk ./tools/c2hs/base/general/FNameOps.hs 31
-module FNameOps (basename, dirname, stripDirname, suffix, stripSuffix, addPath)
+module FNameOps (basename, dirname, stripDirname, suffix, stripSuffix, addPath,
+ splitSearchPath)
hunk ./tools/c2hs/base/general/FNameOps.hs 35
+import System.FilePath
+
hunk ./tools/c2hs/base/general/FNameOps.hs 42
-basename = stripSuffix . stripDirname [_$_]
+basename = takeBaseName [_$_]
hunk ./tools/c2hs/base/general/FNameOps.hs 49
-dirname fname = let
- slashPoss = [pos | ('/', pos) <- zip fname [0..]]
- in
- take (last' (-1) slashPoss + 1) fname
+dirname = takeDirectory
hunk ./tools/c2hs/base/general/FNameOps.hs 56
-stripDirname fname = let
- slashPoss = [pos | ('/', pos) <- zip fname [0..]]
- in
- drop (last' (-1) slashPoss + 1) fname
+stripDirname = takeFileName
hunk ./tools/c2hs/base/general/FNameOps.hs 63
-suffix fname = let
- dotPoss = [pos | ('.', pos) <- zip fname [0..]]
- in
- drop (last' (length fname) dotPoss) fname
+suffix = takeExtension
hunk ./tools/c2hs/base/general/FNameOps.hs 70
-stripSuffix fname = let
- dotPoss = [pos | ('.', pos) <- zip fname [0..]]
- in
- take (last' (length fname) dotPoss) fname
+stripSuffix = dropExtension
hunk ./tools/c2hs/base/general/FNameOps.hs 78
-addPath "" file = file
-addPath path file = path ++ (if last path == '/' then "" else "/") ++ file
-
+addPath = (</>)
hunk ./tools/c2hs/base/general/FNameOps.hs 80
--- auxilliary functions
--- --------------------
hunk ./tools/c2hs/base/general/FNameOps.hs 81
--- last' x [] = x
--- last' x [y1, ..., yn] = yn
---
-last' :: a -> [a] -> a
-last' = foldl (flip const)
hunk ./tools/c2hs/toplevel/Main.hs 151
-import FNameOps (suffix, basename, dirname, stripSuffix, addPath)
+import FNameOps (suffix, basename, dirname, stripSuffix, addPath,
+ splitSearchPath)
hunk ./tools/c2hs/toplevel/Main.hs 494
- let fp = makePath str ""
+ let fp = splitSearchPath str
hunk ./tools/c2hs/toplevel/Main.hs 496
- where
- makePath ('\\':r:em) path = makePath em (path ++ ['\\',r])
- makePath (' ':rem) path = makePath rem path
- makePath (':':rem) "" = makePath rem ""
- makePath (':':rem) path = path : makePath rem ""
- makePath ('/':':':rem) path = path : makePath rem ""
- makePath (r:emain) path = makePath emain (path ++ [r])
- makePath "" "" = []
- makePath "" path = [path]
hunk ./tools/gtk2hs-buildtools.cabal 54
- process, directory, array, containers, pretty, haskell98
+ process, directory, array, containers, pretty,
+ haskell98, filepath
}
|