From 11991f6315e3c4becdb3f9cc475af0ca4b614724 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Thu, 14 Jan 1993 18:04:00 +0000
Subject: [PATCH] Fixed a problem with ASSERT-DEFINITION-TYPE when we have a
 keyword arg with a non-constant default.

---
 compiler/ctype.lisp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/compiler/ctype.lisp b/compiler/ctype.lisp
index 31d94e24e..53fd54a3e 100644
--- a/compiler/ctype.lisp
+++ b/compiler/ctype.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ctype.lisp,v 1.25 1991/12/11 23:49:53 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ctype.lisp,v 1.26 1993/01/14 18:04:00 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -659,7 +659,8 @@
 			(kinfo (find key keys :key #'key-info-name)))
 		   (cond
 		    (kinfo
-		     (res (type-union (key-info-type kinfo) def-type)))
+		     (res (type-union (key-info-type kinfo)
+				      (or def-type (specifier-type 'null)))))
 		    (t
 		     (note-lossage
 		      "Defining a ~S keyword not present in ~A."
@@ -667,8 +668,7 @@
 		     (res *universal-type*)))))
 		(:required (res (pop req)))
 		(:optional
-		 (res (type-union (pop opt)
-				  (or def-type *universal-type*))))
+		 (res (type-union (pop opt) (or def-type *universal-type*))))
 		(:rest
 		 (when (function-type-rest type)
 		   (res (specifier-type 'list)))))
-- 
GitLab