From 715534cc2f2bb9a0f448762a7c6030d508da46f8 Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Tue, 23 May 2000 06:52:09 +0000
Subject: [PATCH] The %instance-typep transform must be applied when both
 native and byte compiling because typep may be source transformed to
 %instance-typep even when byte-compiling as the (not (byte-compiling)) test
 is just a best guess. Fix spotted by Raymond Toy; problem noted by William
 Harold Newman.

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

diff --git a/compiler/typetran.lisp b/compiler/typetran.lisp
index 344b15bd0..71fd334e4 100644
--- a/compiler/typetran.lisp
+++ b/compiler/typetran.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/typetran.lisp,v 1.36 2000/05/02 04:44:28 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/typetran.lisp,v 1.37 2000/05/23 06:52:09 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -428,7 +428,7 @@
 ;;; for the object is invalid and signal an error if so.  Otherwise, look up
 ;;; the indirect class-cell and call CLASS-CELL-TYPEP at runtime.
 ;;;
-(deftransform %instance-typep ((object spec))
+(deftransform %instance-typep ((object spec) (* *) * :when :both)
   (assert (constant-continuation-p spec))
   (let* ((spec (continuation-value spec))
 	 (class (specifier-type spec))
-- 
GitLab