Fix etypecase
authorDavid Vázquez <davazp@gmail.com>
Sun, 5 May 2013 15:39:12 +0000 (16:39 +0100)
committerDavid Vázquez <davazp@gmail.com>
Sun, 5 May 2013 15:39:12 +0000 (16:39 +0100)
src/boot.lisp

index ceaf956..8778da2 100644 (file)
 
 (defmacro etypecase (x &rest clausules)
   (let ((g!x (gensym)))
-    `(typecase ,g!x
-       ,@clausules
-       (t (error "~X fell through etypeacase expression." ,g!x)))))
+    `(let ((,g!x ,x))
+       (typecase ,g!x
+         ,@clausules
+         (t (error "~X fell through etypeacase expression." ,g!x))))))
 
 (defun notany (fn seq)
   (not (some fn seq)))