Repository : ssh://darcs.haskell.org//srv/darcs/packages/base

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/2e445e583f9455d878c5ad265d725bfd4f80dbec

>---------------------------------------------------------------

commit 2e445e583f9455d878c5ad265d725bfd4f80dbec
Author: Max Bolingbroke <[email protected]>
Date:   Wed Nov 2 18:13:41 2011 +0000

    Fix build on Windows

>---------------------------------------------------------------

 GHC/IO/Encoding.hs |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/GHC/IO/Encoding.hs b/GHC/IO/Encoding.hs
index 1012290..af0e345 100644
--- a/GHC/IO/Encoding.hs
+++ b/GHC/IO/Encoding.hs
@@ -176,7 +176,7 @@ char8 = Latin1.latin1
 --
 mkTextEncoding :: String -> IO TextEncoding
 mkTextEncoding e = case mb_coding_failure_mode of
-    Nothing -> unknown_encoding
+    Nothing -> unknownEncodingErr e
     Just cfm -> mkTextEncoding' cfm enc
   where
     -- The only problem with actually documenting //IGNORE and //TRANSLIT as
@@ -189,9 +189,6 @@ mkTextEncoding e = case mb_coding_failure_mode of
         "//ROUNDTRIP" -> Just RoundtripFailure
         _             -> Nothing
     
-    unknown_encoding = ioException (IOError Nothing NoSuchThing 
"mkTextEncoding"
-                                            ("unknown encoding:" ++ e)  
Nothing Nothing)
-
 mkTextEncoding' :: CodingFailureMode -> String -> IO TextEncoding
 mkTextEncoding' cfm enc = case [toUpper c | c <- enc, c /= '-'] of
     "UTF8"    -> return $ UTF8.mkUTF8 cfm
@@ -203,7 +200,7 @@ mkTextEncoding' cfm enc = case [toUpper c | c <- enc, c /= 
'-'] of
     "UTF32BE" -> return $ UTF32.mkUTF32be cfm
 #if defined(mingw32_HOST_OS)
     'C':'P':n | [(cp,"")] <- reads n -> return $ CodePage.mkCodePageEncoding 
cfm cp
-    _ -> unknown_encoding
+    _ -> unknownEncodingErr (enc ++ codingFailureModeSuffix cfm)
 #else
     _ -> Iconv.mkIconvEncoding cfm enc
 #endif
@@ -216,3 +213,6 @@ latin1_decode :: Buffer Word8 -> CharBuffer -> IO (Buffer 
Word8, CharBuffer)
 latin1_decode input output = fmap (\(_why,input',output') -> (input',output')) 
$ Latin1.latin1_decode input output
 --latin1_decode = unsafePerformIO $ do mkTextDecoder Iconv.latin1 >>= 
return.encode
 
+unknownEncodingErr :: String -> IO a    
+unknownEncodingErr e = ioException (IOError Nothing NoSuchThing 
"mkTextEncoding"
+                                            ("unknown encoding:" ++ e)  
Nothing Nothing)



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to