summaryrefslogtreecommitdiff
path: root/src-3.0
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@chalmers.se>2008-06-04 07:52:12 +0000
committerkr.angelov <kr.angelov@chalmers.se>2008-06-04 07:52:12 +0000
commitb5d14ff3dfd4d4f2043ae62e62d419d5f6d56d4b (patch)
treec25a009c1b070b0ebb615323714073f334085f81 /src-3.0
parenta3f4910bdb5d00d0cb460950690ffd90559a6a53 (diff)
do the cyrilic trick for Windows in gf3 also
Diffstat (limited to 'src-3.0')
-rw-r--r--src-3.0/GF.hs24
1 files changed, 17 insertions, 7 deletions
diff --git a/src-3.0/GF.hs b/src-3.0/GF.hs
index b3c971096..5b1776987 100644
--- a/src-3.0/GF.hs
+++ b/src-3.0/GF.hs
@@ -1,3 +1,4 @@
+{-# OPTIONS -cpp #-}
module Main where
import GFC
@@ -11,15 +12,24 @@ import Data.Version
import System.Environment (getArgs)
import System.Exit
import System.IO
+#ifdef mingw32_HOST_OS
+import System.Win32.Console
+import System.Win32.NLS
+#endif
main :: IO ()
-main =
- do args <- getArgs
- case parseOptions args of
- Ok (opts,files) -> mainOpts opts files
- Bad err -> do hPutStrLn stderr err
- hPutStrLn stderr "You may want to try --help."
- exitFailure
+main = do
+#ifdef mingw32_HOST_OS
+ codepage <- getACP
+ setConsoleCP codepage
+ setConsoleOutputCP codepage
+#endif
+ args <- getArgs
+ case parseOptions args of
+ Ok (opts,files) -> mainOpts opts files
+ Bad err -> do hPutStrLn stderr err
+ hPutStrLn stderr "You may want to try --help."
+ exitFailure
mainOpts :: Options -> [FilePath] -> IO ()
mainOpts opts files =