on master help sign in
Fix bug in \u{1f646} syntax for code points over FFFF
5efc3d8Evan Czaplicki
compiler/src/Parse/Primitives/Utf8.hs+4−3
@@ -309,9 +309,10 @@ codePointToBits code =
309 wordToBits code
309 wordToBits code
310
310
311 else
311 else
312− wordToBits ((code `div` 0x400) + 0xD800)
312+ let
313− ++
313+ (hi,lo) = divMod (code - 0x10000) 0x400
314+ in
314− wordToBits ((code `mod` 0x400) + 0xDC00)
315+ wordToBits (hi + 0xD800) ++ wordToBits (lo + 0xDC00)
315
316
316
317
317wordToBits :: Int -> [Char]
318wordToBits :: Int -> [Char]