Adapt ecmascript compiler to recent tree-il changes for prompts.
authorMark H Weaver <mhw@netris.org>
Wed, 7 Aug 2013 07:13:11 +0000 (03:13 -0400)
committerMark H Weaver <mhw@netris.org>
Wed, 7 Aug 2013 07:13:11 +0000 (03:13 -0400)
* 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

index 2fe0d92..5ad958d 100644 (file)
                     (-> (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)))