[movitz-cvs] CVS update: movitz/losp/muerte/typep.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Sun Aug 14 12:26:11 UTC 2005


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv25376

Modified Files:
	typep.lisp 
Log Message:
Fixed labels/flet confusion in coerce.

Date: Sun Aug 14 14:26:10 2005
Author: ffjeld

Index: movitz/losp/muerte/typep.lisp
diff -u movitz/losp/muerte/typep.lisp:1.46 movitz/losp/muerte/typep.lisp:1.47
--- movitz/losp/muerte/typep.lisp:1.46	Sun Aug 14 14:04:05 2005
+++ movitz/losp/muerte/typep.lisp	Sun Aug 14 14:26:10 2005
@@ -9,7 +9,7 @@
 ;;;; Created at:    Fri Dec  8 11:07:53 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: typep.lisp,v 1.46 2005/08/14 12:04:05 ffjeld Exp $
+;;;; $Id: typep.lisp,v 1.47 2005/08/14 12:26:10 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -697,22 +697,23 @@
 
 (defun coerce (object result-type)
   "=> result"
-  (flet ((c (object result-type actual-type)
-	   (cond
-	    ((typep object result-type)
-	     object)
-	    ((member result-type '(list array vector))
-	     (map result-type #'identity object))
-	    ((and (consp result-type)
-		  (eq (car result-type) 'vector))
-	     (let* ((p (cdr result-type))
-		    (et (if p (pop p) t))
-		    (size (if p (pop p) nil)))
-	       (make-array (or size (length object))
-			   :initial-contents object
-			   :element-type et)))
-	    ((not (eq nil result-type))
-	     (c object (expand-type result-type) actual-type))
-	    (t (error "Don't know how to coerce ~S to ~S." object actual-type)))))
+  (labels
+      ((c (object result-type actual-type)
+	 (cond
+	  ((typep object result-type)
+	   object)
+	  ((member result-type '(list array vector))
+	   (map result-type #'identity object))
+	  ((and (consp result-type)
+		(eq (car result-type) 'vector))
+	   (let* ((p (cdr result-type))
+		  (et (if p (pop p) t))
+		  (size (if p (pop p) nil)))
+	     (make-array (or size (length object))
+			 :initial-contents object
+			 :element-type et)))
+	  ((not (eq nil result-type))
+	   (c object (expand-type result-type) actual-type))
+	  (t (error "Don't know how to coerce ~S to ~S." object actual-type)))))
     (c object result-type result-type)))
 




More information about the Movitz-cvs mailing list