From: Christophe R. <cr...@us...> - 2002-09-16 15:17:08
|
Update of /cvsroot/sbcl/sbcl/src/code In directory usw-pr-cvs1:/tmp/cvs-serv10222/src/code Modified Files: late-type.lisp Log Message: 0.7.7.28: Merge APD "bug 198" patch (sbcl-devel 2002-09-16) ... which also removes an obsolete FUN-INFO slot Fix bug 195 ... write test for atomicity of atomic defined-by-ANSI types (some of which are currently commented out) Index: late-type.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/late-type.lisp,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- late-type.lisp 3 Sep 2002 02:29:44 -0000 1.52 +++ late-type.lisp 16 Sep 2002 15:17:04 -0000 1.53 @@ -2173,13 +2173,15 @@ (!define-type-class union) -;;; The LIST type has a special name. Other union types just get -;;; mechanically unparsed. +;;; The LIST, FLOAT and REAL types have special names. Other union +;;; types just get mechanically unparsed. (!define-type-method (union :unparse) (type) (declare (type ctype type)) - (if (type= type (specifier-type 'list)) - 'list - `(or ,@(mapcar #'type-specifier (union-type-types type))))) + (cond + ((type= type (specifier-type 'list)) 'list) + ((type= type (specifier-type 'float)) 'float) + ((type= type (specifier-type 'real)) 'real) + (t `(or ,@(mapcar #'type-specifier (union-type-types type)))))) ;;; Two union types are equal if they are each subtypes of each ;;; other. We need to be this clever because our complex subtypep |