From: sof Date: Mon, 25 Aug 1997 22:39:31 +0000 (+0000) Subject: [project @ 1997-08-25 22:39:31 by sof] X-Git-Tag: Approximately_1000_patches_recorded~90 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=aade2e8f1208839770b1b61f84761131eeae511a [project @ 1997-08-25 22:39:31 by sof] Improved error messages --- diff --git a/ghc/lib/ghc/IOBase.lhs b/ghc/lib/ghc/IOBase.lhs index d2fdd3b..f8e0d72 100644 --- a/ghc/lib/ghc/IOBase.lhs +++ b/ghc/lib/ghc/IOBase.lhs @@ -17,7 +17,7 @@ import STBase import UnsafeST import PrelTup import Foreign -import PackedString ( unpackCString ) +import PackBase ( unpackCString ) import PrelBase import ArrBase ( ByteArray(..), MutableVar(..) ) import PrelRead @@ -283,8 +283,10 @@ Showing @IOError@s instance Show IOError where showsPrec p (IOError _ UserError s) rs = showString s rs +{- showsPrec p (IOError _ EOF _) rs = showsPrec p EOF rs +-} showsPrec p (IOError _ iot s) rs = showsPrec p iot @@ -331,7 +333,7 @@ information. constructError :: String -> PrimIO IOError constructError call_site = _casm_ ``%r = ghc_errtype;'' >>= \ (I# errtype#) -> - _casm_ ``%r = ghc_errstr;'' >>= \ str -> + _casm_ ``%r = ghc_errstr;'' >>= \ str -> let iot = case errtype# of @@ -356,10 +358,10 @@ constructError call_site = _ -> OtherError msg = + call_site ++ ':' : ' ' : unpackCString str ++ case iot of - EOF -> "" - OtherError -> "bad error construct" - _ -> call_site ++ ':' : ' ' : unpackCString str + OtherError -> "(error code: " ++ show (I# errtype#) ++ ")" + _ -> "" in return (IOError Nothing iot msg) \end{code}