Add DO-SOURCE macro for iterating over source files
[jscl.git] / src / compiler-codegen.lisp
index 87a3740..9bb915d 100644 (file)
 (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))
 
 
   (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)
            (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)