You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem
====
haddock exits with errors like below:
`(1)`
```
haddock: internal error: <stderr>: hPutChar: invalid argument (invalid character)
```
`(2)`
```
haddock: internal error: Language\Haskell\HsColour\Anchors.hs: hGetContents: invalid argument (invalid byte sequence)
```
`(1)` is caused by printing [the "bullet" character](http://www.fileformat.info/info/unicode/char/2022/index.htm) onto stderr.
For example, this warning contains it:
```
Language\Haskell\HsColour\ANSI.hs:62:10: warning: [-Wmissing-methods]
• No explicit implementation for
‘toEnum’
• In the instance declaration for ‘Enum Highlight’
```
`(2)` is caused when the input file of `readFile` contains some Unicode characters.
In the case above, '⇒' is the cause.
Environment
----
OS: Windows 10
haddock: 2.17.3
GHC: 8.0.1
Solution
====
Add `hSetEncoding handle utf8` to avoid the errors.
Note
====
- I found the detailed causes by these changes for debugging:
- haskell@8f29edb
- haskell@1dd23bf
- These errors happen even after executing `chcp 65001` on the console.
According to the debug code, `hGetEncoding stderr` returns `CP932` regardless of the console encoding.
0 commit comments