From 1d1f17ffcfe2c8d7b631ea3002487ec558e9eecf Mon Sep 17 00:00:00 2001
From: gerd <gerd>
Date: Sat, 26 Apr 2003 17:35:08 +0000
Subject: [PATCH] 	Test cases CLASS-REDEFINITION.[12] from Paul Dietz'
 ANSI tests.

	* src/pcl/std-class.lisp (update-cpl): Force cache flushes if we
	won't reuse the wrapper because there are class slots.
---
 pcl/std-class.lisp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/pcl/std-class.lisp b/pcl/std-class.lisp
index 2bf7abb58..7afd3eea0 100644
--- a/pcl/std-class.lisp
+++ b/pcl/std-class.lisp
@@ -26,7 +26,7 @@
 ;;;
 
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/std-class.lisp,v 1.54 2003/04/25 17:43:50 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/std-class.lisp,v 1.55 2003/04/26 17:35:08 gerd Exp $")
 
 (in-package :pcl)
 
@@ -792,7 +792,11 @@
 
 (defun update-cpl (class cpl)
   (if (class-finalized-p class)
-      (unless (equal (class-precedence-list class) cpl)
+      (unless (and (equal (class-precedence-list class) cpl)
+		   (loop for c in cpl never
+			   (loop for s in (class-direct-slots c) thereis
+				   (eq (slot-definition-allocation s)
+				       :class))))
 	;; Need to have the cpl setup before update-lisp-class-layout
 	;; is called on CMUCL.
 	(setf (slot-value class 'class-precedence-list) cpl)
-- 
GitLab