X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FIO%2FHandle%2FTypes.hs;fp=GHC%2FIO%2FHandle%2FTypes.hs;h=cdde7d8c6e8a173ea7a203796bb0bc39c6ee26de;hb=ccc931d0905f6e0d55cb90b045881d4515112411;hp=f3cf717065799c70a01f751c3a1a5bd4b1f2d9c2;hpb=049f089928e25a3b9ea297c0c0936b2e6bc7a508;p=ghc-base.git diff --git a/GHC/IO/Handle/Types.hs b/GHC/IO/Handle/Types.hs index f3cf717..cdde7d8 100644 --- a/GHC/IO/Handle/Types.hs +++ b/GHC/IO/Handle/Types.hs @@ -121,17 +121,17 @@ instance Eq Handle where _ == _ = False data Handle__ - = forall dev . (IODevice dev, BufferedIO dev, Typeable dev) => + = forall dev enc_state dec_state . (IODevice dev, BufferedIO dev, Typeable dev) => Handle__ { haDevice :: !dev, haType :: HandleType, -- type (read/write/append etc.) haByteBuffer :: !(IORef (Buffer Word8)), haBufferMode :: BufferMode, - haLastDecode :: !(IORef (Buffer Word8)), + haLastDecode :: !(IORef (dec_state, Buffer Word8)), haCharBuffer :: !(IORef (Buffer CharBufElem)), -- the current buffer haBuffers :: !(IORef (BufferList CharBufElem)), -- spare buffers - haEncoder :: Maybe TextEncoder, - haDecoder :: Maybe TextDecoder, + haEncoder :: Maybe (TextEncoder enc_state), + haDecoder :: Maybe (TextDecoder dec_state), haInputNL :: Newline, haOutputNL :: Newline, haOtherSide :: Maybe (MVar Handle__) -- ptr to the write side of a