[project @ 2002-08-21 10:44:26 by simonmar]
authorsimonmar <unknown>
Wed, 21 Aug 2002 10:44:26 +0000 (10:44 +0000)
committersimonmar <unknown>
Wed, 21 Aug 2002 10:44:26 +0000 (10:44 +0000)
Oops, string literals were using mkFastStringNarrow instead of
mkFastString, with the result that characters >= 256 were being
truncated modulo 256.

MERGE TO STABLE

ghc/compiler/parser/Lex.lhs

index c3c7402..57c6834 100644 (file)
@@ -617,7 +617,7 @@ lex_string cont exts s buf
   = case currentChar# buf of
        '"'#{-"-} -> 
           let buf' = incLexeme buf
-               s' = mkFastStringNarrow (map chr (reverse s)) 
+               s' = mkFastString (map chr (reverse s)) 
            in case currentChar# buf' of
                '#'# | glaExtsEnabled exts -> if all (<= 0xFF) s
                     then cont (ITprimstring s') (incLexeme buf')