diff options
| author | John J. Camilleri <john@digitalgrammars.com> | 2022-06-18 21:09:23 +0200 |
|---|---|---|
| committer | John J. Camilleri <john@digitalgrammars.com> | 2022-06-18 21:09:23 +0200 |
| commit | 65308861bc6cd899d0fcf3695a382e8016d40a05 (patch) | |
| tree | 50bfb648eb6cd32cf6798d5700c6bfa4199665c1 /src/compiler | |
| parent | 9f2a3de7a3cc0db2db741b7f9766681a95e729ff (diff) | |
| parent | b7672b67a39fb46f3ba8dbacca96babb04fca82c (diff) | |
Merge branch 'master' of github.com:GrammaticalFramework/gf-core
Diffstat (limited to 'src/compiler')
| -rw-r--r-- | src/compiler/GF/Command/Commands.hs | 9 | ||||
| -rw-r--r-- | src/compiler/GF/Main.hs | 2 | ||||
| -rw-r--r-- | src/compiler/GF/Text/Coding.hs | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs index 2f2e802e0..a6c66594f 100644 --- a/src/compiler/GF/Command/Commands.hs +++ b/src/compiler/GF/Command/Commands.hs @@ -4,6 +4,7 @@ module GF.Command.Commands ( options,flags, ) where import Prelude hiding (putStrLn,(<>)) -- GHC 8.4.1 clash with Text.PrettyPrint +import System.Info(os) import PGF @@ -882,11 +883,15 @@ pgfCommands = Map.fromList [ Right ty -> ty Nothing -> error ("Can't parse '"++str++"' as a type") optViewFormat opts = valStrOpts "format" "png" opts - optViewGraph opts = valStrOpts "view" "open" opts + optViewGraph opts = valStrOpts "view" open_cmd opts optNum opts = valIntOpts "number" 1 opts optNumInf opts = valIntOpts "number" 1000000000 opts ---- 10^9 takeOptNum opts = take (optNumInf opts) + open_cmd | os == "linux" = "xdg-open" + | os == "mingw32" = "start" + | otherwise = "open" + returnFromExprs es = return $ case es of [] -> pipeMessage "no trees found" _ -> fromExprs es @@ -1022,4 +1027,4 @@ stanzas = map unlines . chop . lines where #if !(MIN_VERSION_base(4,9,0)) errorWithoutStackTrace = error -#endif
\ No newline at end of file +#endif diff --git a/src/compiler/GF/Main.hs b/src/compiler/GF/Main.hs index 7d4500c7b..1b90430d6 100644 --- a/src/compiler/GF/Main.hs +++ b/src/compiler/GF/Main.hs @@ -16,6 +16,7 @@ import Data.Version import System.Directory import System.Environment (getArgs) import System.Exit +import GHC.IO.Encoding -- import GF.System.Console (setConsoleEncoding) -- | Run the GF main program, taking arguments from the command line. @@ -23,6 +24,7 @@ import System.Exit -- Run @gf --help@ for usage info. main :: IO () main = do + setLocaleEncoding utf8 -- setConsoleEncoding uncurry mainOpts =<< getOptions diff --git a/src/compiler/GF/Text/Coding.hs b/src/compiler/GF/Text/Coding.hs index bac7938c0..2a89427fe 100644 --- a/src/compiler/GF/Text/Coding.hs +++ b/src/compiler/GF/Text/Coding.hs @@ -38,7 +38,7 @@ decodeUnicode :: TextEncoding -> ByteString -> String decodeUnicode enc bs = unsafePerformIO $ decodeUnicodeIO enc bs decodeUnicodeIO enc (PS fptr l len) = do - let bbuf = Buffer{bufRaw=fptr, bufState=ReadBuffer, bufSize=len, bufL=l, bufR=l+len} + let bbuf = (emptyBuffer fptr len ReadBuffer) { bufL=l, bufR=l+len } cbuf <- newCharBuffer 128 WriteBuffer case enc of TextEncoding {mkTextDecoder=mk} -> do decoder <- mk |
