Windows only: set the encoding on stdin to utf8
authorSimon Marlow <marlowsd@gmail.com>
Thu, 23 Jul 2009 12:19:13 +0000 (12:19 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Thu, 23 Jul 2009 12:19:13 +0000 (12:19 +0000)
Otherwise it defaults to latin1.

ghc/InteractiveUI.hs

index 5acb36e..3675398 100644 (file)
@@ -328,6 +328,12 @@ interactiveUI srcs maybe_exprs = do
         -- We don't want the cmd line to buffer any input that might be
         -- intended for the program, so unbuffer stdin.
         hSetBuffering stdin NoBuffering
+#if defined(mingw32_HOST_OS) && __GLASGOW_HASKELL__ >= 611
+        -- On Unix, stdin will use the locale encoding.  The IO library
+        -- doesn't do this on Windows (yet), so for now we use UTF-8,
+        -- for consistency with GHC 6.10 and to make the tests work.
+        hSetEncoding stdin utf8
+#endif
 
    -- initial context is just the Prelude
    prel_mod <- GHC.lookupModule (GHC.mkModuleName "Prelude") Nothing