[GHC] #10623: Handling of ASCII encodings introduced in D898 breaks Unicode terminal detection
GHC
ghc-devs at haskell.org
Fri Jul 10 17:54:55 UTC 2015
#10623: Handling of ASCII encodings introduced in D898 breaks Unicode terminal
detection
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.2-rc2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: None/Unknown | Unknown/Multiple
Blocked By: | Test Case: T8958a
Related Tickets: #10298, #7695 | Blocking:
| Differential Revisions: Phab:1059
-------------------------------------+-------------------------------------
Comment (by Ben Gamari <ben@…>):
In [changeset:"d69dfba4e27c4ec33459906fd87c9a56a371f510/ghc"]:
{{{
#!CommitTicketReference repository="ghc"
revision="d69dfba4e27c4ec33459906fd87c9a56a371f510"
Fix self-contained handling of ASCII encoding
D898 was primarily intended to fix hangs in the event that iconv was
unavailable (namely #10298 and #7695). In addition to this fix, it also
introduced self-contained handling of ANSI terminals to allow compiled
executables to run in minimal environments lacking iconv.
However, the behavior that the patch introduced is highly suspicious.
Specifically, it gives the user a UTF-8 encoding even if they requested
ASCII.
This has the potential to break quite a lot of code. At very least it
breaks GHC's Unicode terminal detection logic, which attempts to catch
an invalid character when encoding a pair of smart-quotes. Of course,
this exception will never be thrown if a UTF-8 encoder is used.
Here we use the `char8` encoding to handle requests for ASCII encodings
in the event that we find iconv to be non-functional.
Fixes #10623.
Test Plan: Validate with T8959a
Reviewers: rwbarton, hvr, austin, hsyl20
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1059
GHC Trac Issues: #10623
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10623#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list