packages feed

darcs-beta 2.7.99.1 → 2.7.99.2

raw patch · 34 files changed

+64/−87 lines, 34 filesbinary-addedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Darcs.Arguments: amendUnrecord :: DarcsOption
- Darcs.Arguments: machineReadable :: DarcsOption
- Darcs.Arguments: pipeInteractive, recordRollback, fromOpt, leaveTestDir, rmlogfile, logfile, sendmailCmd, matchSeveral, matchRange, matchOne, allowUnrelatedRepos, forceReplace, help, notest, test, ignoretimes, lookforadds, askdeps, author, matchSeveralOrLast, matchSeveralOrRange, nocompress, inReplyTo, charset, subject, uncompressNocompress, summary, unified, repoCombinator, unidiff, outputAutoName, output, editDescription, patchnameOption, distnameOption, xmloutput, reply, applyConflictOptions, ccApply, ccSend, target, pullConflictOptions, pauseForGui, useExternalMerge, storeInMemory, diffCmdFlag, sendToContext, happyForwarding, matchOneContext, changesFormat, creatorhash, changesReverse, matchOneNontag, askLongComment, noskipBoring, allowProblematicFilenames, diffflags, humanReadable, allInteractive, allPipeInteractive :: DarcsOption
+ Darcs.Arguments: pipeInteractive, amendUnrecord, recordRollback, fromOpt, leaveTestDir, rmlogfile, logfile, sendmailCmd, matchSeveral, matchRange, matchOne, allowUnrelatedRepos, forceReplace, help, notest, test, ignoretimes, lookforadds, askdeps, author, matchSeveralOrLast, matchSeveralOrRange, nocompress, inReplyTo, charset, subject, uncompressNocompress, summary, unified, repoCombinator, unidiff, outputAutoName, output, editDescription, patchnameOption, distnameOption, xmloutput, reply, applyConflictOptions, ccApply, ccSend, target, pullConflictOptions, pauseForGui, useExternalMerge, storeInMemory, diffCmdFlag, sendToContext, happyForwarding, matchOneContext, changesFormat, creatorhash, changesReverse, matchOneNontag, askLongComment, noskipBoring, allowProblematicFilenames, diffflags, machineReadable, humanReadable, allInteractive, allPipeInteractive :: DarcsOption

Files

darcs-beta.cabal view
@@ -1,5 +1,5 @@ Name: darcs-beta-version:        2.7.99.1+version:        2.7.99.2 License:        GPL License-file:   COPYING Author:         David Roundy <droundy@darcs.net>, <darcs-users@darcs.net>@@ -34,7 +34,6 @@  Build-Type:     Custom Cabal-Version:  >= 1.8-Tested-with:    GHC==6.8.2  extra-source-files:   -- C headers
release/distributed-context view
@@ -1,1 +1,1 @@-Just "\nContext:\n\n[TAG 2.7.99.1\nFlorent Becker <florent.becker@ens-lyon.org>**20120401092449\n Ignore-this: 23fef1226d1278f70993402dc13ea30d\n] \n"+Just "\nContext:\n\n[TAG 2.7.99.2\nGanesh Sittampalam <ganesh@earth.li>**20120407193707\n Ignore-this: 7f29828f935216eb111971563e8c0d04\n] \n"
src/Darcs/Arguments.hs view
@@ -554,7 +554,8 @@           f2o _ = Nothing  pipeInteractive, allPipeInteractive, allInteractive,-  humanReadable, diffflags, allowProblematicFilenames, noskipBoring,+  humanReadable, machineReadable,+  diffflags, allowProblematicFilenames, noskipBoring,   askLongComment, matchOneNontag, changesReverse, creatorhash,   changesFormat, matchOneContext, happyForwarding, sendToContext,   diffCmdFlag, storeInMemory, useExternalMerge,@@ -567,7 +568,7 @@   author, askdeps, lookforadds, ignoretimes, test, notest, help, forceReplace,   allowUnrelatedRepos,   matchOne, matchRange, matchSeveral, sendmailCmd,-  logfile, rmlogfile, leaveTestDir, fromOpt,  recordRollback+  logfile, rmlogfile, leaveTestDir, fromOpt,  recordRollback, amendUnrecord       :: DarcsOption  sign, applyas, verify :: DarcsOption
src/Darcs/Commands/WhatsNew.hs view
@@ -112,7 +112,7 @@  whatsnewCmd :: [DarcsFlag] -> [String] -> IO () whatsnewCmd opts args =-   withRepository opts $ RepoJob $ \(repo :: Repository p C(r u t)) -> do+   withRepository opts $ RepoJob $ \(repo :: Repository p C(r u r)) -> do     files <- if null args                  then return Nothing                  else Just <$> fixSubPaths opts args
src/Darcs/Global.hs view
@@ -73,7 +73,6 @@ import System.Process ( readProcessWithExitCode ) import System.Time ( calendarTimeToString, toCalendarTime, getClockTime ) import System.Environment ( getEnv )-import System.Exit ( ExitCode(..) ) import Prelude hiding (catch)  
src/Darcs/Patch/ApplyMonad.hs view
@@ -35,7 +35,7 @@ import Darcs.MonadProgress  -- TODO should UUID/Object live somewhere more central?-import Darcs.Patch.Prim.V3.ObjectMap ( UUID, Object, ObjectMap, DirContent )+import Darcs.Patch.Prim.V3.ObjectMap ( UUID, ObjectMap, DirContent )  fn2ap :: FileName -> AnchoredPath fn2ap = floatPath . fn2fp@@ -93,9 +93,9 @@ instance (Functor m, Monad m) => ApplyMonad (HSM.TreeMonad m) Tree where     type ApplyMonadBase (HSM.TreeMonad m) = m     getApplyState = gets HSM.tree-    nestedApply a init = lift $ runApplyMonad a init-    liftApply a init = do x <- gets HSM.tree-                          lift $ runApplyMonad (lift $ a x) init+    nestedApply a start = lift $ runApplyMonad a start+    liftApply a start = do x <- gets HSM.tree+                           lift $ runApplyMonad (lift $ a x) start      -- putApplyState needs some support from HSM @@ -134,7 +134,7 @@ withFileNames :: (Maybe [OrigFileNameOf]) -> [FileName] -> FilePathMonad a     -> FilePathMonadState withFileNames mbofnos fps x = execState x ([], fps, ofnos) where-    ofnos = maybe (map (\x -> (x, x)) fps) id mbofnos+    ofnos = maybe (map (\y -> (y, y)) fps) id mbofnos  instance ApplyMonad FilePathMonad Tree where     type ApplyMonadBase FilePathMonad = Identity
src/Darcs/Patch/Choices.hs view
@@ -61,7 +61,7 @@                     ) where  import Control.Monad.Identity ( Identity )-import Control.Monad.State ( StateT(..), State )+import Control.Monad.State ( StateT(..) )  import Prelude hiding ( pred ) 
src/Darcs/Patch/Patchy/Instances.hs view
@@ -7,9 +7,7 @@ import Darcs.Patch.Permutations () import Darcs.Patch.FileHunk ( IsHunk ) import Darcs.Patch.Viewing ()-import Darcs.Patch.Apply( ApplyState ) import Darcs.Witnesses.Ordered ( FL, RL )-import Storage.Hashed.Tree( Tree )  instance (IsHunk p, PatchListFormat p, Patchy p) => Patchy (FL p) instance (IsHunk p, PatchListFormat p, Patchy p) => Patchy (RL p)
src/Darcs/Patch/Prim.hs view
@@ -1,9 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} module Darcs.Patch.Prim        ( showPrim, showPrimFL,-         adddir, addfile, binary, changepref,-         hunk, move, rmdir, rmfile, tokreplace,-         primFromHunk,          primIsAddfile, primIsHunk, primIsBinary, primIsSetpref,          primIsAdddir, is_filepatch,          canonize, tryToShrink,
src/Darcs/Patch/Prim/V1/Apply.hs view
@@ -10,23 +10,19 @@       DirPatchType(..), FilePatchType(..) ) import Darcs.Patch.Prim.V1.Show ( showHunk ) -import Darcs.Patch.FileName ( fn2fp, fp2fn )+import Darcs.Patch.FileName ( fn2fp ) import Darcs.Patch.Format ( FileNameFormat(..) ) import Darcs.Patch.TokenReplace ( tryTokInternal ) -import Darcs.Global ( darcsdir ) import Darcs.Patch.ApplyMonad ( ApplyMonad(..) ) import Storage.Hashed.Tree( Tree ) -import Darcs.Repository.Prefs ( changePrefval )- import Darcs.Witnesses.Ordered ( FL(..), mapFL_FL, spanFL, (:>)(..) ) import Darcs.Witnesses.Unsafe ( unsafeCoercePStart )  import ByteStringUtils ( unlinesPS, breakAfterNthNewline, breakBeforeNthNewline, ) import Printer( renderString ) -import Control.Monad ( when ) import qualified Data.ByteString as B ( ByteString, empty, null, concat ) import qualified Data.ByteString.Char8 as BC (pack, singleton, unpack) import Data.List ( intersperse )
src/Darcs/Patch/Prim/V1/Show.hs view
@@ -6,7 +6,6 @@  import Prelude hiding ( pi ) -import Control.Monad ( join ) import ByteStringUtils ( fromPS2Hex ) import qualified Data.ByteString as B (ByteString, length, take, drop) import qualified Data.ByteString.Char8 as BC (head)
src/Darcs/Patch/RepoPatch.hs view
@@ -7,7 +7,7 @@ import Darcs.Patch.Merge ( Merge ) import Darcs.Patch.Patchy ( Patchy ) import Darcs.Patch.Patchy.Instances ()-import Darcs.Patch.Prim ( PrimPatchBase, PrimOf, FromPrim, FromPrims )+import Darcs.Patch.Prim ( PrimPatchBase, PrimOf, FromPrim ) import Darcs.Patch.Repair ( RepairToFL, Check )  class (Patchy p, Merge p, Effect p, IsHunk p, FromPrim p, Conflict p, CommuteNoConflicts p,
src/Darcs/Patch/V1/Viewing.hs view
@@ -2,11 +2,9 @@ {-# LANGUAGE ViewPatterns #-} module Darcs.Patch.V1.Viewing () where -import Darcs.Patch.FileHunk ( isHunk ) import Darcs.Patch.Prim ( PrimPatch ) import Darcs.Patch.Show ( ShowPatchBasic(..), ShowPatch(..) ) import Darcs.Patch.Summary ( plainSummary )-import Darcs.Patch.Viewing ( showContextHunk )  import Darcs.Patch.V1.Apply () import Darcs.Patch.V1.Core ( Patch(..) )
src/Darcs/Patch/V2/Non.hs view
@@ -15,7 +15,7 @@ -- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- Boston, MA 02110-1301, USA. -{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-name-shadowing #-} {-# LANGUAGE CPP, FlexibleContexts, UndecidableInstances #-}  #include "gadts.h"@@ -64,8 +64,8 @@ import Darcs.Witnesses.Show ( ShowDict(..), Show1(..), Show2(..), appPrec                             , showsPrec2 ) import Darcs.Witnesses.Sealed ( Sealed(Sealed) )-import Printer ( Doc, empty, vcat, hiddenPrefix, blueText, redText, ($$) )-import qualified Data.ByteString.Char8 as BC ( pack, singleton, ByteString )+import Printer ( Doc, empty, vcat, hiddenPrefix, blueText, ($$) )+import qualified Data.ByteString.Char8 as BC ( pack, singleton )  -- |A 'Non' stores a context with a 'Prim' patch. It is a patch whose effect -- isn't visible - a Non-affecting patch.
src/Darcs/Patch/V2/Real.hs view
@@ -15,7 +15,7 @@ -- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- Boston, MA 02110-1301, USA. -{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-name-shadowing #-} {-# LANGUAGE CPP #-}  #include "gadts.h"@@ -128,11 +128,11 @@ -- | 'isForward' @p@ is @True@ if @p@ is either an 'InvConflictor' or -- 'Etacilpud'. isForward :: PrimPatch prim => RealPatch prim C(s y) -> Maybe Doc-isForward = isForward'+isForward p = case p of+    p@(InvConflictor _ _ _) -> justRedP "An inverse conflictor" p+    p@(Etacilpud _) -> justRedP "An inverse duplicate" p+    _ -> Nothing   where-    isForward' p@(InvConflictor _ _ _) = justRedP "An inverse conflictor" p-    isForward' p@(Etacilpud _) = justRedP "An inverse duplicate" p-    isForward' _ = Nothing     justRedP msg p = Just $ redText msg $$ showPatch p  -- |'mergeUnravelled' is used when converting from Darcs V1 patches (Mergers)
src/Darcs/Repository/HashedIO.hs view
@@ -65,7 +65,6 @@                              compress :: !Compression, rootHash :: !String } type HashedIO p = StateT (HashDir RW p) IO -data RO = RO data RW = RW {- class Readable r where@@ -76,6 +75,7 @@     isRO RO = True -} +mWithCurrentDirectory :: FileName -> HashedIO p a -> HashedIO p a mWithCurrentDirectory fn j     | fn' == fp2fn "" = j     | otherwise =@@ -94,6 +94,7 @@                                            return x     where fn' = normPath fn +mInCurrentDirectory :: FileName -> HashedIO p a -> HashedIO p a mInCurrentDirectory fn j | fn' == fp2fn "" = j                          | otherwise =                              case breakOnDir fn' of
src/Darcs/Repository/Prefs.hs view
@@ -48,7 +48,6 @@ import Darcs.Flags ( DarcsFlag( NoCache, NoSetDefault, DryRun, RemoteRepo ) ) import Darcs.RepoPath ( AbsolutePath, ioAbsolute, toFilePath, getCurrentDirectory ) import Darcs.Utils ( catchall, stripCr )-import Darcs.Patch.ApplyMonad ( ApplyMonad(..) ) import Darcs.External ( gzFetchFilePS, Cachable( Cachable ) ) import qualified Data.ByteString.Char8 as BC ( unpack ) import qualified Data.ByteString       as B  ( empty )
src/Darcs/Repository/Repair.hs view
@@ -22,7 +22,6 @@                                  mapRL, nullFL, (:||:)(..) ) import Darcs.Witnesses.Sealed ( Sealed2(..), Sealed(..), unFreeLeft ) import Darcs.Patch.Apply( ApplyState )-import Darcs.Patch.ApplyMonad( ApplyMonad ) import Darcs.Patch.Repair ( Repair(applyAndTryToFix) ) import Darcs.Patch.PatchInfoAnd( hopefully ) import Darcs.Patch.Info ( humanFriendly )
src/Darcs/Repository/State.hs view
@@ -35,9 +35,9 @@ import Prelude hiding ( filter ) import Control.Monad( when ) import Control.Applicative( (<$>) )-import Data.Maybe( isJust, isNothing )+import Data.Maybe( isJust ) import Data.List( union )-import Text.Regex( mkRegex, matchRegex )+import Text.Regex( matchRegex )  import System.Directory( removeFile, doesFileExist, doesDirectoryExist, renameFile ) import System.FilePath ( (</>) )@@ -194,9 +194,9 @@ -- pretend that the working dir updates magically to the tentative state. workDirLessRepoWitness :: Repository p C(r u t)                           -> (EqCheck C(u t))-workDirLessRepoWitness r@(Repo _ _ rf _) | formatHas NoWorkingDir rf =+workDirLessRepoWitness (Repo _ _ rf _) | formatHas NoWorkingDir rf =   unsafeCoerceP IsEq-                                         | otherwise = NotEq+                                       | otherwise = NotEq  -- | Obtains a Tree corresponding to the "recorded" state of the repository: -- this is the same as the pristine cache, which is the same as the result of
src/Darcs/Ssh.hs view
@@ -25,12 +25,6 @@ import System.Environment ( getEnv ) import System.Exit ( ExitCode(..) ) -#ifdef WIN32-import Data.Bits ( (.&.) )-import System.Random ( randomIO )-import Darcs.Utils ( showHexLen )-#endif- import Control.Monad ( when )  import qualified Data.ByteString as B (ByteString, hGet, writeFile )
src/Darcs/Test/Patch/Arbitrary/Generic.hs view
@@ -25,7 +25,7 @@ import Darcs.Witnesses.Ordered import Darcs.Patch.Merge ( Merge(..) ) import Darcs.Patch.Patchy ( Invert(..), Commute(..) )-import Darcs.Patch.Prim ( PrimOf, PrimPatch, PrimPatchBase, FromPrim(..), PrimConstruct( anIdentity ), move )+import Darcs.Patch.Prim ( PrimOf, PrimPatch, PrimPatchBase, FromPrim(..), PrimConstruct( anIdentity ) ) import Darcs.Patch.Prim.V1 () import Darcs.Patch.V2 ( RealPatch ) -- XXX this is more or less a hack --import Darcs.ColorPrinter ( errorDoc )
src/Darcs/Test/Patch/Arbitrary/PatchV1.hs view
@@ -29,29 +29,16 @@ import Control.Monad ( liftM, liftM2, liftM3, liftM4, replicateM )  import Darcs.Patch.Info ( PatchInfo, patchinfo )-import Darcs.Test.Patch.Check ( PatchCheck,-                                checkMove, removeDir, createDir,-                                isValid, insertLine, fileEmpty, fileExists,-                                deleteLine, modifyFile, createFile, removeFile,-                                doCheck, doVerboseCheck, FileContents(..)-                              )-import Darcs.Patch.RegChars ( regChars )-import ByteStringUtils ( linesPS )-import qualified Data.ByteString as B ( ByteString, null, concat )-import qualified Data.ByteString.Char8 as BC ( break, pack )-import Darcs.Patch.FileName ( fn2fp )-import qualified Data.Map as M ( mapMaybe )+import qualified Data.ByteString as B ( ByteString )+import qualified Data.ByteString.Char8 as BC ( pack )  import Darcs.Patch ( addfile, adddir, move,                      hunk, tokreplace, binary,-                     changepref, invert, merge,-                     effect )-import Darcs.Patch.Invert ( Invert )+                     changepref, invert, merge ) import Darcs.Patch.V1 () import qualified Darcs.Patch.V1.Core as V1 ( Patch(..) )-import Darcs.Patch.V1.Core ( isMerger ) import Darcs.Patch.Prim.V1 ()-import Darcs.Patch.Prim.V1.Core ( Prim(..), DirPatchType(..), FilePatchType(..) )+import Darcs.Patch.Prim.V1.Core ( Prim(..) ) import Darcs.Witnesses.Ordered import Darcs.Witnesses.Sealed ( Sealed(Sealed), unseal, mapSeal, Sealed2(..) ) import Darcs.Witnesses.Unsafe
src/Darcs/Test/Patch/Arbitrary/PrimV3.hs view
@@ -1,5 +1,6 @@+-- TODO: Remove these warning disabling flags...+{-# OPTIONS_GHC -w #-} {-# LANGUAGE MultiParamTypeClasses, OverloadedStrings #-}-{-# OPTIONS_GHC -fno-warn-orphans #-} module Darcs.Test.Patch.Arbitrary.PrimV3 where  import qualified Darcs.Test.Patch.Arbitrary.Generic as T
src/Darcs/Test/Patch/Properties/Generic.hs view
@@ -33,7 +33,7 @@ import Darcs.Test.Util.TestResult ( TestResult, succeeded, failed, rejected,                                     (<&&>), fromMaybe ) import Darcs.Test.Patch.RepoModel ( RepoModel, RepoState, repoApply, eqModel, showModel-                                  , maybeFail, Fail )+                                  , maybeFail ) import Darcs.Test.Patch.WithState ( WithState(..), WithStartState(..) ) import Darcs.Test.Patch.Arbitrary.Generic ( Tree, flattenOne ) 
src/Darcs/Test/Patch/Properties/V1Set2.hs view
@@ -49,7 +49,7 @@                      readPatch, resolveConflicts,                      fromPrim, showPatch ) import Darcs.Patch.Commute ( Commute )-import Darcs.Patch.Invert ( Invert, invertFL )+import Darcs.Patch.Invert ( Invert ) import qualified Darcs.Patch.V1 as V1 ( Patch ) import Darcs.Patch.V1.Commute ( unravel, merger ) import Darcs.Patch.Prim.V1 ()
src/Darcs/Test/Patch/RepoModel.hs view
@@ -1,12 +1,14 @@ module Darcs.Test.Patch.RepoModel where import Darcs.Patch.Apply ( Apply, ApplyState )-import Darcs.Witnesses.Show( Show1 ) import Test.QuickCheck ( Gen )  type Fail = Either String++unFail :: Either [Char] t -> t unFail (Right x) = x unFail (Left err) = error $ "unFail failed: " ++ err +maybeFail :: Either t a -> Maybe a maybeFail (Right x) = Just x maybeFail _ = Nothing 
src/Darcs/Test/Patch/V1Model.hs view
@@ -29,7 +29,7 @@ import Darcs.Test.Util.QuickCheck ( alpha, uniques, bSized ) import Darcs.Test.Patch.RepoModel -import Darcs.Patch.Apply( Apply(..), applyToTree )+import Darcs.Patch.Apply( applyToTree ) import Darcs.Witnesses.Sealed ( Sealed, seal ) import Darcs.Witnesses.Show @@ -77,7 +77,7 @@ -- Instances  instance Show (V1Model C(x)) where-  show repo = "V1Model{ " +  show repo = "V1Model{ "             ++ intercalate " " (map showEntry $ list repo)             ++ " }"     where@@ -145,13 +145,13 @@ isDir _other                   = False  fileContent :: File -> Content-fileContent (RepoItem (T.File blob)) +fileContent (RepoItem (T.File blob))   = lbs2content $ unFail $ T.readBlob blob fileContent _other   = error "fileContent: Not a file."  dirContent :: Dir -> [(Name, RepoItem)]-dirContent (RepoItem (T.SubTree subtree)) +dirContent (RepoItem (T.SubTree subtree))   = map (second RepoItem) $ M.toList $ T.items subtree dirContent _other   = error "dirContent: Not a directory."@@ -189,7 +189,7 @@ -- * Comparing repositories  diffRepos :: V1Model C(x) -> V1Model C(y) -> (V1Model C(u), V1Model C(v))-diffRepos repo1 repo2 = +diffRepos repo1 repo2 =   let (diff1,diff2) = unFail $ T.diffTrees hashedTree1 hashedTree2     in (V1Model diff1, V1Model diff2)   where@@ -204,7 +204,7 @@ ---------------------------------------------------------------------- -- * QuickCheck generators --- Testing code assumes that aFilename and aDirname generators +-- Testing code assumes that aFilename and aDirname generators -- will always be able to generate a unique name given a list of -- existing names. This should be OK as long as the number of possible -- file/dirnames is much bigger than the number of files/dirs per repository.@@ -250,8 +250,8 @@         -> Gen Dir aDir filesL dirL = root <$> aRepo filesL dirL --- | @aRepo filesNo dirsNo@ produces repositories with *at most* --- @filesNo@ files and @dirsNo@ directories. +-- | @aRepo filesNo dirsNo@ produces repositories with *at most*+-- @filesNo@ files and @dirsNo@ directories. -- The structure of the repository is aleatory. aRepo :: Int                -- ^ Maximum number of files         -> Int              -- ^ Maximum number of directories@@ -276,6 +276,7 @@ -- Small repositories help generating (potentially) conflicting patches. instance RepoModel V1Model where   type RepoState V1Model = Tree+  showModel m = show m   aSmallRepo = do filesNo <- frequency [(3, return 1), (1, return 2)]                   dirsNo <- frequency [(3, return 1), (1, return 0)]                   aRepo filesNo dirsNo
src/Darcs/Test/Patch/V3Model.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports -fno-warn-orphans #-} {-# LANGUAGE CPP, OverloadedStrings, MultiParamTypeClasses, StandaloneDeriving #-}  #include "gadts.h"
src/win32/System/Posix/IO.hsc view
@@ -9,7 +9,7 @@  import Foreign.C.Error ( throwErrnoIfMinus1, throwErrnoIfMinus1_ ) -import GHC.Handle ( fdToHandle )+import GHC.IO.Handle.FD ( fdToHandle )  import System.Posix.Internals ( c_open, c_close, c_dup2 ) import System.Posix.Types ( Fd(..), FileMode )@@ -64,7 +64,7 @@   fdToHandle :: Fd -> IO Handle-fdToHandle fd = GHC.Handle.fdToHandle (fromIntegral fd)+fdToHandle fd = GHC.IO.Handle.FD.fdToHandle (fromIntegral fd)  dupTo :: Fd -> Fd -> IO Fd dupTo (Fd fd1) (Fd fd2) = do
+ tests/bin/hspwd.hi view

binary file changed (absent → 723 bytes)

+ tests/bin/hspwd.o view

binary file changed (absent → 2156 bytes)

+ tests/bin/trackdown-bisect-helper.hi view

binary file changed (absent → 1091 bytes)

+ tests/bin/trackdown-bisect-helper.o view

binary file changed (absent → 10196 bytes)

tests/lib view
@@ -16,16 +16,22 @@     "./hspwd" } -# switch locale to latin9 if supported if there's a locale command, skip test-# otherwise+# switch locale to one supporting the latin-9 (ISO 8859-15) character set if possible, otherwise skip test++no_latin9_locale_warning () {+    echo "no ISO 8859-15 locale found, skipping test"+    echo "try (eg): sudo locale-gen en_US.ISO-8859-15"+}+ switch_to_latin9_locale () {     if ! which locale ; then-        echo "no locale command"-        exit 200 # skip test+        echo "no locale command, skipping test"+        exit 200     fi -    latin9_locale=`locale -a | grep @euro | head -n 1` || exit 200-    test -n "$latin9_locale" || exit 200+    # look for a ISO 8859-15 locale. locale -a shows iso885915, on ubuntu at least+    latin9_locale=`locale -a | grep -i iso885915 | head -n 1` || (no_latin9_locale_warning; exit 200)+    test -n "$latin9_locale" || (no_latin9_locale_warning; exit 200)      echo "Using locale $latin9_locale"     export LC_ALL=$latin9_locale@@ -47,7 +53,6 @@     export LC_ALL=$utf8_locale     echo "character encoding is now `locale charmap`" }-  serve_http() {     cat > light.conf <<EOF