[commit: ghc] master: Dump files always use UTF8 encoding #10762 (ab9403d)
git at git.haskell.org
git at git.haskell.org
Tue Aug 18 16:33:10 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/ab9403d5e6eb4f0a2e917d7edcd5821262432b26/ghc
>---------------------------------------------------------------
commit ab9403d5e6eb4f0a2e917d7edcd5821262432b26
Author: Michael Snoyman <michael at snoyman.com>
Date: Tue Aug 18 17:58:36 2015 +0200
Dump files always use UTF8 encoding #10762
When the Windows codepage or *nix LANG variable is something besides
UTF-8, dumping to file can cause GHC to exit currently. This changes the
output encoding for files to match the defined input encoding for
Haskell source code (UTF-8), making it easier for users and build tools
to capture this output.
Test Plan:
Create a Haskell source file with non-Latin characters for identifier
names and
compile with:
LANG=C ghc -ddump-to-file -ddump-hi filename.hs -fforce-recomp
Without this patch, it will fail. With this patch, it succeeds
Reviewers: austin, rwbarton, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1151
GHC Trac Issues: #10762
>---------------------------------------------------------------
ab9403d5e6eb4f0a2e917d7edcd5821262432b26
compiler/main/ErrUtils.hs | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/compiler/main/ErrUtils.hs b/compiler/main/ErrUtils.hs
index 3a7d9ec..fd10694 100644
--- a/compiler/main/ErrUtils.hs
+++ b/compiler/main/ErrUtils.hs
@@ -290,6 +290,13 @@ dumpSDoc dflags print_unqual flag hdr doc
writeIORef gdref (Set.insert fileName gd)
createDirectoryIfMissing True (takeDirectory fileName)
handle <- openFile fileName mode
+
+ -- We do not want the dump file to be affected by
+ -- environment variables, but instead to always use
+ -- UTF8. See:
+ -- https://ghc.haskell.org/trac/ghc/ticket/10762
+ hSetEncoding handle utf8
+
doc' <- if null hdr
then return doc
else do t <- getCurrentTime
More information about the ghc-commits
mailing list