From 24be362db85130ee0ac336448a0f74f53ff90a2a Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20V=C3=A1zquez?= Date: Sat, 22 Jun 2013 10:32:01 +0200 Subject: [PATCH] Migrate js!bool and js!selfcall --- src/compiler.lisp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/compiler.lisp b/src/compiler.lisp index 1221ff7..b4e1eaf 100644 --- a/src/compiler.lisp +++ b/src/compiler.lisp @@ -50,7 +50,7 @@ ;;; Wrap X with a Javascript code to convert the result from ;;; Javascript generalized booleans to T or NIL. (defun js!bool (x) - `(code "(" ,x "?" ,(ls-compile t) ": " ,(ls-compile nil) ")")) + `(if ,x ,(ls-compile t) ,(ls-compile nil))) ;;; Concatenate the arguments and wrap them with a self-calling ;;; Javascript anonymous function. It is used to make some Javascript @@ -58,10 +58,7 @@ ;;; It could be defined as function, but we could do some ;;; preprocessing in the future. (defmacro js!selfcall (&body body) - ``(code "(function(){" ,*newline* - (code ,,@body) - ,*newline* - "})()")) + ``(call (function nil (code ,,@body)))) ;;; Like CODE, but prefix each line with four spaces. Two versions ;;; of this function are available, because the Ecmalisp version is -- 1.7.10.4