Fix variable-arity multiplication and so read-float
authorDavid Vázquez <davazp@gmail.com>
Sat, 31 Aug 2013 00:13:10 +0000 (02:13 +0200)
committerDavid Vázquez <davazp@gmail.com>
Sat, 31 Aug 2013 00:13:10 +0000 (02:13 +0200)
src/compiler/codegen.lisp

index b32e837..5247e52 100644 (file)
          (case (length (cdr form))
            (1 `(unary- ,(cadr form)))
            (t (reduce (lambda (x y) `(- ,x ,y)) (cdr form)))))
+        (*
+         (case (length (cdr form))
+           (0 1)
+           (t (reduce (lambda (x y) `(* ,x ,y)) (cdr form)))))
         ((and or)
          (reduce (lambda (x y) `(,(car form) ,x ,y)) (cdr form)))
         ((progn comma)