From b6ad5cd9c9607213bf7177ae026ef5ea454bd108 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20V=C3=A1zquez?= Date: Sun, 23 Jun 2013 15:30:12 +0200 Subject: [PATCH] Migrate %WHILE --- src/compiler.lisp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/compiler.lisp b/src/compiler.lisp index 1f14de5..2bff550 100644 --- a/src/compiler.lisp +++ b/src/compiler.lisp @@ -559,11 +559,13 @@ (literal sexp)) (define-compilation %while (pred &rest body) - (js!selfcall - "while(" (ls-compile pred) " !== " (ls-compile nil) "){" *newline* - `(code ,(ls-compile-block body)) - "}" *newline* - "return " (ls-compile nil) ";" *newline*)) + (js!selfcall* + `(while (!== ,(ls-compile pred) ,(ls-compile nil)) + 0 ; TODO: Force + ; braces. Unnecesary when code + ; is gone + (code ,(ls-compile-block body))) + `(return ,(ls-compile nil)))) (define-compilation function (x) (cond -- 1.7.10.4