From 5270bb5bdbc4a036b9d4f73aa378b291f90ae04a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 7 Aug 2013 03:13:11 -0400 Subject: [PATCH] Adapt ecmascript compiler to recent tree-il changes for prompts. * module/language/ecmascript/compile-tree-il.scm (with-return-prompt): Adapt to the changes in 178a40928ab5221f6ce57c5af1067abe30a342b3. Prompt tree-il nodes now contain an explicit 'escape-only?' flag, and the body and handler are now both lambdas. --- module/language/ecmascript/compile-tree-il.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/module/language/ecmascript/compile-tree-il.scm b/module/language/ecmascript/compile-tree-il.scm index 2fe0d924e..5ad958d18 100644 --- a/module/language/ecmascript/compile-tree-il.scm +++ b/module/language/ecmascript/compile-tree-il.scm @@ -83,12 +83,17 @@ (-> (lexical 'return tag)))) (-> (let '(return) (list tag) (list (-> (primcall 'make-prompt-tag))) - (-> (prompt (current-return-tag) - (body-thunk) + (-> (prompt #t + (current-return-tag) + (-> (lambda '() + (-> (lambda-case + `((() #f #f #f () ()) + ,(body-thunk)))))) (let ((val (gensym "val"))) - (-> (lambda-case - `(((k val) #f #f #f () (,(gensym) ,val)) - ,(-> (lexical 'val val))))))))))))) + (-> (lambda '() + (-> (lambda-case + `(((k val) #f #f #f () (,(gensym) ,val)) + ,(-> (lexical 'val val))))))))))))))) (define (comp x e) (let ((l (location x)))