hat 2.7.0.11 → 2.7.0.12
raw patch · 5 files changed
+18/−12 lines, 5 files
Files
- compiler98/Error.hs +2/−1
- compiler98/Extra.hs +4/−3
- hat.cabal +2/−2
- tools/HatTrail.hs +7/−4
- trans/HatTrans.hs +3/−2
compiler98/Error.hs view
@@ -1,5 +1,6 @@ module Error where +import Control.Exception import Data.List import System.IO import System.Exit@@ -7,7 +8,7 @@ exit :: IO a exit = exitWith (ExitFailure 1) -can'tOpen :: String -> a -> IO b+can'tOpen :: String -> IOException -> IO a can'tOpen filename ioError = do hPutStr stderr ("Can't open "++filename ++ "\n")
compiler98/Extra.hs view
@@ -1,6 +1,7 @@ module Extra(module Extra, module HbcOnly, module Data.Maybe, trace) where import HbcOnly+import qualified Control.Exception (catch, IOException) import Data.Char import Data.List import Data.Maybe@@ -286,8 +287,8 @@ finput <- readFile x return (x,finput) readFirst (x:xs) =- catch (do finput <- readFile x- return (x,finput))- (\ _ -> readFirst xs)+ Control.Exception.catch (do finput <- readFile x+ return (x,finput))+ (\ y -> (y :: Control.Exception.IOException) `seq` readFirst xs) ------------------------
hat.cabal view
@@ -1,6 +1,6 @@ name: hat-version: 2.7.0.11+version: 2.7.0.12 synopsis: The Haskell tracer, generating and viewing Haskell execution traces description: hat-trans transforms Module.hs into Hat/Module.hs such that when the program is@@ -41,7 +41,7 @@ There is documentation in the "docs" folder, but much of it is outdated. There are a few small programs for exploring tracing in the "examples" folder.-homepage: http://www.cs.kent.ac.uk/~oc+homepage: http://olafchitil.github.com/hat/ license: OtherLicense license-file: docs/copyright.html copyright: (c) 2000-2012 Hat team
tools/HatTrail.hs view
@@ -15,6 +15,7 @@ ,highlight,Highlight(..),Colour(..) ,enableScrollRegion,getTerminalSize ,savePosition,restorePosition)+import qualified Control.Exception(catch,IOException) import Control.Monad (when,liftM) import System.Cmd (system) import System.Environment (getArgs,getProgName,getEnv)@@ -69,10 +70,12 @@ errmsg <- getErrorMessage output <- readOutputFile hatfile bridge <- readBridgeFile- (style0,style1) <- catch (do home <- getEnv "HOME"- f <- readFile (home++"/.hattrailrc")- return (read f))- (\e-> return ( [Dim,Foreground Red]+ (style0,style1) <- Control.Exception.catch (do + home <- getEnv "HOME"+ f <- readFile (home++"/.hattrailrc")+ return (read f))+ (\e-> (e :: Control.Exception.IOException) `seq`+ return ( [Dim,Foreground Red] , [Bold,Foreground Magenta] )) (columns,lines) <- getTerminalSize let state = State { file=hatfile, width=columns, height=lines, startLine=0
trans/HatTrans.hs view
@@ -10,6 +10,7 @@ import System.Environment(getArgs) import System.Exit(exitWith,ExitCode(..)) import System.IO.Error(isAlreadyExistsError)+import qualified Control.Exception (catch) import Control.Monad(when) import Data.List(isPrefixOf,intersperse,inits) import System.Directory(doesDirectoryExist,createDirectory)@@ -81,7 +82,7 @@ {- lex source code -} beginPhase "lex" mainChar -- :: String- <- catch (readFile filename) (can'tOpen filename) + <- Control.Exception.catch (readFile filename) (can'tOpen filename) lexdata -- :: [PosToken] <- return (lexical (sUnderscore flags) (sSourceFile flags) (if sUnlit flags @@ -176,7 +177,7 @@ accum xs = map (concat . intersperse "/") (tail (inits xs)) wordsBy c s = let (w,s') = break (==c) s in w: case s' of [] -> []; (_:s'') -> wordsBy c s''- safeCreate path = catch (createDirectory path)+ safeCreate path = Control.Exception.catch (createDirectory path) (\e-> if isAlreadyExistsError e then return () else ioError e)