aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jscomp.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/jscomp.sml')
-rw-r--r--src/jscomp.sml12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/jscomp.sml b/src/jscomp.sml
index 9f0a7a1b..79ae814e 100644
--- a/src/jscomp.sml
+++ b/src/jscomp.sml
@@ -980,12 +980,18 @@ fun process file =
jsE inner (e, st))
| EJavaScript (_, e) =>
let
+ val locals = List.tabulate
+ (varDepth e,
+ fn i => str ("var _" ^ Int.toString (len + inner + i) ^ ";"))
+
val (e, st) = jsE inner (e, st)
in
foundJavaScript := true;
- (strcat [str "cs(function(){return ",
- compact inner e,
- str "})"],
+ (strcat (str "cs(function(){"
+ :: locals
+ @ [str "return ",
+ compact inner e,
+ str "})"]),
st)
end