diff options
author | Kai Ruemmler <kai.ruemmler@gmx.net> | 2016-12-01 17:59:50 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-12-01 18:00:35 -0500 |
commit | 747e77c9968ab09e11e78fe028bea8e1e3e97a48 (patch) | |
tree | b2d2ac53af0c9883876d2a8153856b2b37235262 /libraries/base | |
parent | 7fafb84e9fd61417094f41b4a5d88bbef6df7aa5 (diff) | |
download | haskell-747e77c9968ab09e11e78fe028bea8e1e3e97a48.tar.gz |
Fix naming of the native latin1 encodings
textEncodingName is notjust a string, it must be a valid input for
mkTextEncoding, as stated in libraries/base/GHC/IO/Encoding/Types.hs.
Test Plan:
A working latin1 locale is required on the system. Reason: ghc's
initial locale encoding defaults to ASCII, if either an unknown locale
or unknown charset is used. For the bug to show up, ghc must start up
using the latin1 encoding.
From main directory in ghc do:
$ ./configure && make clean && make boot && make inplace/bin/ghc-stage2
$ LC_CTYPE="de_DE.ISO-8859-1" ./inplace/bin/ghc-stage2
Before the patch, the last line leads to the exception thrown:
ghc-stage2: mkTextEncoding: does not exist (unknown
encoding:ISO8859-1(checked)//TRANSLIT)
After the patch, ghc-stage2 prints a short usage summary as expected.
Moreover,
$ make test TEST=encoding005
continues to pass after the patch.
Reviewers: austin, hvr, rwbarton, bgamari
Reviewed By: bgamari
Subscribers: mpickering, rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D2667
Diffstat (limited to 'libraries/base')
-rw-r--r-- | libraries/base/GHC/IO/Encoding/Latin1.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libraries/base/GHC/IO/Encoding/Latin1.hs b/libraries/base/GHC/IO/Encoding/Latin1.hs index efef240f38..730379e4a0 100644 --- a/libraries/base/GHC/IO/Encoding/Latin1.hs +++ b/libraries/base/GHC/IO/Encoding/Latin1.hs @@ -50,7 +50,7 @@ latin1 = mkLatin1 ErrorOnCodingFailure -- | @since 4.4.0.0 mkLatin1 :: CodingFailureMode -> TextEncoding -mkLatin1 cfm = TextEncoding { textEncodingName = "ISO8859-1", +mkLatin1 cfm = TextEncoding { textEncodingName = "ISO-8859-1", mkTextDecoder = latin1_DF cfm, mkTextEncoder = latin1_EF cfm } @@ -79,7 +79,7 @@ latin1_checked = mkLatin1_checked ErrorOnCodingFailure -- | @since 4.4.0.0 mkLatin1_checked :: CodingFailureMode -> TextEncoding -mkLatin1_checked cfm = TextEncoding { textEncodingName = "ISO8859-1(checked)", +mkLatin1_checked cfm = TextEncoding { textEncodingName = "ISO-8859-1", mkTextDecoder = latin1_DF cfm, mkTextEncoder = latin1_checked_EF cfm } |