diff options
author | Mark H Weaver <mhw@netris.org> | 2013-08-07 03:13:11 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2013-08-07 03:13:11 -0400 |
commit | 5270bb5bdbc4a036b9d4f73aa378b291f90ae04a (patch) | |
tree | 4bb0a036cbb80d2f05624b0492506ace2b709301 | |
parent | 6dce942c46494460369b8a93d3c657e1f6e57fed (diff) | |
download | guile-5270bb5bdbc4a036b9d4f73aa378b291f90ae04a.tar.gz |
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.
-rw-r--r-- | module/language/ecmascript/compile-tree-il.scm | 15 |
1 files 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))) |