From 998bb9edf437be19a35bdcbe1fa8014ef4826f56 Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Tue, 19 May 1998 02:07:29 +0000
Subject: [PATCH] Fix for recent changes to the handling of the 'not type
 specifier in hairy subtype methods.

---
 code/type.lisp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/code/type.lisp b/code/type.lisp
index 2aef5b487..9f76f54d8 100644
--- a/code/type.lisp
+++ b/code/type.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/code/type.lisp,v 1.29 1998/05/13 04:03:40 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/type.lisp,v 1.30 1998/05/19 02:07:29 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -978,7 +978,8 @@
 (define-type-method (hairy :simple-subtypep) (type1 type2)
   (let ((hairy-spec1 (hairy-type-specifier type1))
 	(hairy-spec2 (hairy-type-specifier type2)))
-    (cond ((and (eq (car hairy-spec1) 'not) (eq (car hairy-spec2) 'not))
+    (cond ((and (consp hairy-spec1) (eq (car hairy-spec1) 'not)
+		(consp hairy-spec2) (eq (car hairy-spec2) 'not))
 	   (csubtypep (specifier-type (cadr hairy-spec2))
 		      (specifier-type (cadr hairy-spec1))))
 	  ((equal hairy-spec1 hairy-spec2)
@@ -988,7 +989,7 @@
 
 (define-type-method (hairy :complex-subtypep-arg2) (type1 type2)
   (let ((hairy-spec (hairy-type-specifier type2)))
-    (cond ((eq (car hairy-spec) 'not)
+    (cond ((and (consp hairy-spec) (eq (car hairy-spec) 'not))
 	   (multiple-value-bind (val win)
 	       (type-intersection type1 (specifier-type (cadr hairy-spec)))
 	     (if win
-- 
GitLab