[project @ 1999-07-01 12:30:06 by simonmar]
[ghc-hetmet.git] / ghc / compiler / utils / StringBuffer.lhs
index 9dbc519..2b22939 100644 (file)
@@ -182,7 +182,6 @@ expanded tabs, and enlarge it if necessary.
 
 \begin{code}
 #if __GLASGOW_HASKELL__ < 303
-ioError = fail
 mayBlock fo thing = thing
 
 writeCharOffAddr :: Addr -> Int -> Char -> IO ()
@@ -203,7 +202,7 @@ slurpFileExpandTabs fname = do
    (\ handle ->
      do sz <- hFileSize handle
         if sz > toInteger (maxBound::Int) 
-         then ioError (userError "slurpFile: file too big")
+         then IOERROR (userError "slurpFile: file too big")
           else do
            let sz_i = fromInteger sz
                sz_i' = (sz_i * 12) `div` 10            -- add 20% for tabs
@@ -265,7 +264,9 @@ trySlurp handle sz_i chunk =
        -- and add 1 to allow room for the final sentinel \NUL at
        -- the end of the file.
   (chunk', rc) <- slurpFile 0# 0# chunk chunk_sz (chunk_sz -# (tAB_SIZE +# 1#))
+#if __GLASGOW_HASKELL__ < 404
   writeHandle handle handle_
+#endif
   if rc < (0::Int)
        then constructErrorAndFail "slurpFile"
        else return (chunk', rc+1 {-room for sentinel-})