Migrate JS-EVAL
authorDavid Vázquez <davazp@gmail.com>
Mon, 24 Jun 2013 11:18:17 +0000 (13:18 +0200)
committerDavid Vázquez <davazp@gmail.com>
Mon, 24 Jun 2013 11:18:17 +0000 (13:18 +0200)
src/compiler.lisp

index d8e9b6d..e9ee752 100644 (file)
 
 (define-builtin js-eval (string)
   (if *multiple-value-p*
-      (js!selfcall
-        "var v = globalEval(xstring(" string "));"
-        "return values.apply(this, forcemv(v));" )
-      `(code "globalEval(xstring(" ,string "))")))
+      (js!selfcall*
+        `(var (v (call |globalEval| (call |xstring| ,string))))
+        `(return (call (get |values| "apply") this (call |forcemv| v))))
+      `(call |globalEval| (call |xstring| ,string))))
 
 (define-builtin %throw (string)
   (js!selfcall* `(throw ,string)))