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