add a comment to the effect that printDoc prints FastStrings in UTF-8
[ghc-hetmet.git] / compiler / utils / Pretty.lhs
index bebb6b2..5219484 100644 (file)
@@ -175,8 +175,6 @@ module Pretty (
         render, fullRender, printDoc, showDocWith
   ) where
 
-#include "HsVersions.h"
-
 import BufWrite
 import FastString
 import FastTypes
@@ -974,7 +972,7 @@ display mode page_width ribbon_width txt end doc
         lay2 _ _                   = panic "display/lay2: Unhandled case"
 
         -- optimise long indentations using LitString chunks of 8 spaces
-        indent n r | n >=# _ILIT(8) = LStr SLIT("        ") (_ILIT(8)) `txt`
+        indent n r | n >=# _ILIT(8) = LStr (sLit "        ") (_ILIT(8)) `txt`
                                       indent (n -# _ILIT(8)) r
                    | otherwise      = Str (spaces n) `txt` r
     in
@@ -998,6 +996,10 @@ spaces n | n <=# _ILIT(0) = ""
 pprCols :: Int
 pprCols = 120 -- could make configurable
 
+-- NB. printDoc prints FastStrings in UTF-8: hPutFS below does no decoding.
+-- This is what we usually want, because the IO library has no encoding
+-- functionality, and we're assuming UTF-8 source code so we might as well
+-- assume UTF-8 output too.
 printDoc :: Mode -> Handle -> Doc -> IO ()
 printDoc LeftMode hdl doc
   = do { printLeftRender hdl doc; hFlush hdl }