[movitz-cvs] CVS movitz/losp/muerte
ffjeld
ffjeld at common-lisp.net
Sat May 6 20:29:11 UTC 2006
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory clnet:/tmp/cvs-serv13407
Modified Files:
typep.lisp
Log Message:
Tweak etypecase-error.
--- /project/movitz/cvsroot/movitz/losp/muerte/typep.lisp 2006/04/10 11:58:15 1.53
+++ /project/movitz/cvsroot/movitz/losp/muerte/typep.lisp 2006/05/06 20:29:10 1.54
@@ -9,7 +9,7 @@
;;;; Created at: Fri Dec 8 11:07:53 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: typep.lisp,v 1.53 2006/04/10 11:58:15 ffjeld Exp $
+;;;; $Id: typep.lisp,v 1.54 2006/05/06 20:29:10 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -38,11 +38,10 @@
else collect `((typep ,key-var ',type) , at forms)))))))
(defmacro etypecase (keyform &rest clauses)
- `(typecase ,keyform , at clauses
- (t (error "~S fell through an etypecase where the legal types were ~S."
- ,keyform
- ',(loop for c in clauses
- collect (car c))))))
+ (let ((key-var (make-symbol "etypecase-key-var-")))
+ `(let ((,key-var ,keyform))
+ (typecase ,key-var , at clauses
+ (t (etypecase-error ,key-var ',(loop for c in clauses collect (car c))))))))
(define-compile-time-variable *simple-typespecs*
;; map symbol typespecs to typep-functions.
More information about the Movitz-cvs
mailing list