X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler-codegen.lisp;h=9bb915d399b0cb846ab45f8eb46edec5bc02698a;hb=030869df1e9829e0b284b96e585bdda7d45e0602;hp=87a37407968c5452d50f33b5d7278a67f8774d54;hpb=4267e51b95191cbb22c5976fd99689fe0cc5b1f4;p=jscl.git diff --git a/src/compiler-codegen.lisp b/src/compiler-codegen.lisp index 87a3740..9bb915d 100644 --- a/src/compiler-codegen.lisp +++ b/src/compiler-codegen.lisp @@ -37,11 +37,11 @@ (defun js-macroexpand (js) (if (and (consp js) (assoc (car js) *js-macros*)) (let ((expander (cdr (assoc (car js) *js-macros*)))) - (multiple-value-bind (expansion expand-more-p) + (multiple-value-bind (expansion stop-expand-p) (funcall expander (cdr js)) - (if expand-more-p - (js-macroexpand expansion) - expansion))) + (if stop-expand-p + expansion + (js-macroexpand expansion)))) js)) @@ -211,9 +211,6 @@ (let ((op1 (car args)) (op2 (cadr args))) (case op - ;; Transactional compatible operator - (code - (js-format "~a" (apply #'code args))) ;; Accessors (property (js-expr (car args) 0) @@ -389,8 +386,6 @@ (js-format ";"))) (t (case (car form) - (code - (js-format "~a" (apply #'code (cdr form)))) (label (destructuring-bind (label &body body) (cdr form) (js-identifier label)