summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-11-08 10:33:58 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-11-08 10:33:58 -0500
commit443e2b566220b4aa3921527742e1efbabc0eb0e3 (patch)
tree668e1182a47e66702fa97dbef4025dd9c1df40ac
parentc5e1cb8c69d62a6ff64cb06d7f263f9c274cb4de (diff)
Resolve all tag named in [Basis]; deal with C compilation failure without leaving /tmp files
-rw-r--r--src/compiler.sml3
-rw-r--r--src/urweb.grm2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler.sml b/src/compiler.sml
index de0490c3..bde16fd3 100644
--- a/src/compiler.sml
+++ b/src/compiler.sml
@@ -567,7 +567,8 @@ fun compile job =
(cname, oname,
fn () => (OS.FileSys.remove cname;
OS.FileSys.remove oname;
- OS.FileSys.rmDir dir))
+ OS.FileSys.rmDir dir)
+ handle OS.SysErr _ => OS.FileSys.rmDir dir)
end
val ename = #exe job
in
diff --git a/src/urweb.grm b/src/urweb.grm
index b49cd793..f344633d 100644
--- a/src/urweb.grm
+++ b/src/urweb.grm
@@ -1069,7 +1069,7 @@ tagHead: BEGIN_TAG (let
val pos = s (BEGIN_TAGleft, BEGIN_TAGright)
in
(bt,
- (EVar ([], bt, Infer), pos))
+ (EVar (["Basis"], bt, Infer), pos))
end)
| tagHead LBRACE cexp RBRACE (#1 tagHead, (ECApp (#2 tagHead, cexp), s (tagHeadleft, RBRACEright)))