From: simonmar Date: Wed, 5 Oct 2005 14:04:28 +0000 (+0000) Subject: [project @ 2005-10-05 14:04:28 by simonmar] X-Git-Tag: cmm-merge2~17 X-Git-Url: http://git.megacz.com/?p=ghc-base.git;a=commitdiff_plain;h=7bfc314979a55dece9944f4a21302a8a96eb23bb [project @ 2005-10-05 14:04:28 by simonmar] hPutChar should (probably) not be strict in its Char argument --- diff --git a/GHC/IO.hs b/GHC/IO.hs index d8dbbb9..ca5a23e 100644 --- a/GHC/IO.hs +++ b/GHC/IO.hs @@ -401,8 +401,8 @@ unpackAcc buf (I# r) (I# len) acc = IO $ \s -> unpack acc (len -# 1#) s -- * 'isPermissionError' if another system resource limit would be exceeded. hPutChar :: Handle -> Char -> IO () -hPutChar handle c = - c `seq` do -- must evaluate c before grabbing the handle lock +hPutChar handle c = do + c `seq` return () wantWritableHandle "hPutChar" handle $ \ handle_ -> do let fd = haFD handle_ case haBufferMode handle_ of