summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-11-09 08:56:13 +0000
committeraarne <aarne@cs.chalmers.se>2007-11-09 08:56:13 +0000
commit1ad7527f657c9b268773d674e0bad1789f96fa8a (patch)
treeff740594a001048bbfd6fab234480ec1295606c3 /src
parent45df6d5ac2be9cf8e88ae9733af53410b8d37969 (diff)
preserve error message in batch compile
Diffstat (limited to 'src')
-rw-r--r--src/GF/Devel/Compile.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/GF/Devel/Compile.hs b/src/GF/Devel/Compile.hs
index fbbb543dc..6b55d0eea 100644
--- a/src/GF/Devel/Compile.hs
+++ b/src/GF/Devel/Compile.hs
@@ -32,9 +32,11 @@ import System.Directory
batchCompile :: Options -> [FilePath] -> IO SourceGrammar
batchCompile opts files = do
- let defOpts = addOptions opts (options [emitCode])
- Ok (_,gr) <- appIOE $ foldM (compileModule defOpts) emptyCompileEnv files
- return gr
+ let defOpts = addOptions opts (options [emitCode])
+ egr <- appIOE $ foldM (compileModule defOpts) emptyCompileEnv files
+ case egr of
+ Ok (_,gr) -> return gr
+ Bad s -> error s
-- to output an intermediate stage
intermOut :: Options -> Option -> String -> IOE ()