module System.Console.Haskeline.Recover where import GHC.IO.Encoding import GHC.IO.Encoding.Failure transliterateFailure :: TextEncoding -> TextEncoding transliterateFailure TextEncoding { mkTextEncoder = mkEncoder , mkTextDecoder = mkDecoder , textEncodingName = name } = TextEncoding { mkTextDecoder = fmap (setRecover $ recoverDecode TransliterateCodingFailure) mkDecoder , mkTextEncoder = fmap (setRecover $ recoverEncode TransliterateCodingFailure) mkEncoder , textEncodingName = name } where setRecover r x = x { recover = r }