From 8a37f80c47a364381fa13f349dd728fa88b9fb23 Mon Sep 17 00:00:00 2001 From: gerd <gerd> Date: Thu, 8 May 2003 15:00:58 +0000 Subject: [PATCH] * src/compiler/ir1tran.lisp (the) <IR1 translator>: The spec &rest nil means a fixed number of values. --- compiler/ir1tran.lisp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp index 2803b4f60..3e5f17887 100644 --- a/compiler/ir1tran.lisp +++ b/compiler/ir1tran.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.150 2003/05/08 14:52:03 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.151 2003/05/08 15:00:58 gerd Exp $") ;;; ;;; ********************************************************************** ;;; @@ -3020,7 +3020,13 @@ (make-values-type :required (mapcar #'or-null (values-type-required ctype)) :optional (values-type-optional ctype) - :rest (or (values-type-rest ctype) *universal-type*))))) + :rest (let ((rest (values-type-rest ctype))) + (cond ((null rest) + *universal-type*) + ((eq rest (specifier-type nil)) + nil) + (t + rest))))))) ((csubtypep (specifier-type 'null) ctype) (setq ctype (make-values-type :optional (list ctype) :rest *universal-type*))) -- GitLab