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