Migrate SETQ
authorDavid Vázquez <davazp@gmail.com>
Sun, 23 Jun 2013 14:25:18 +0000 (16:25 +0200)
committerDavid Vázquez <davazp@gmail.com>
Sun, 23 Jun 2013 14:25:18 +0000 (16:25 +0200)
src/compiler.lisp

index b7437e9..45be8b3 100644 (file)
             (eq (binding-type b) 'variable)
             (not (member 'special (binding-declarations b)))
             (not (member 'constant (binding-declarations b))))
-       `(code ,(binding-value b) " = " ,(ls-compile val)))
+       ;; TODO: Unnecesary make-symbol when codegen migration is
+       ;; finished.
+       `(= ,(make-symbol (binding-value b)) ,(ls-compile val)))
       ((and b (eq (binding-type b) 'macro))
        (ls-compile `(setf ,var ,val)))
       (t
        ((null (cdr pairs))
         (error "Odd pairs in SETQ"))
        (t
-         (push `(code ,(setq-pair (car pairs) (cadr pairs))
-                      ,(if (null (cddr pairs)) "" ", "))
-               result)
+         (push `,(setq-pair (car pairs) (cadr pairs)) result)
         (setq pairs (cddr pairs)))))
-    `(code "(" ,@(reverse result) ")")))
+    `(progn ,@(reverse result))))
 
 
 ;;; Compilation of literals an object dumping