From 477633652dec02536c4b24d0be07d3505dc8829c Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Thu, 17 Apr 2003 15:47:59 +0000 Subject: [PATCH] 0.pre8.66: Fix some more condition slots bugs ... don't duplicate slots from the current class; only examine the rest of the condition's CPL. --- NEWS | 5 +++++ src/code/condition.lisp | 2 +- version.lisp-expr | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index bb57798c1..db164bba3 100644 --- a/NEWS +++ b/NEWS @@ -1650,6 +1650,9 @@ changes in sbcl-0.8.0 relative to sbcl-0.7.14 Baumann) * SB-MOP:ENSURE-CLASS-USING-CLASS now takes its arguments in the specified-by-AMOP order of (CLASS NAME &REST ARGS &KEY). + * SB-MOP:COMPUTE-EFFECTIVE-SLOT-DEFINITION now takes the + required-by-AMOP NAME argument, as well as CLASS and + DIRECT-SLOT-DEFINITIONS. (thanks to Kevin Rosenberg) * fixed bug 20: DEFMETHOD can define methods using names that are not the proper names of classes to designate class specializers. * bug fix: INTERACTIVE-STREAM-P now works on streams associated with @@ -1672,6 +1675,8 @@ changes in sbcl-0.8.0 relative to sbcl-0.7.14 ** DEFCLASS of forward-referenced classes with another forward-referenced class in the superclasses list no longer causes an error; + ** condition slots are now initialized once each, not multiple + times; (thanks to Gerd Moellmann) planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles diff --git a/src/code/condition.lisp b/src/code/condition.lisp index 5feeb7355..46721e8d4 100644 --- a/src/code/condition.lisp +++ b/src/code/condition.lisp @@ -324,7 +324,7 @@ ;;; ANSI-compliant, fixing it would also be good.:-) (defun compute-effective-slots (class) (collect ((res (copy-list (condition-classoid-slots class)))) - (dolist (sclass (condition-classoid-cpl class)) + (dolist (sclass (cdr (condition-classoid-cpl class))) (dolist (sslot (condition-classoid-slots sclass)) (let ((found (find (condition-slot-name sslot) (res)))) (cond (found diff --git a/version.lisp-expr b/version.lisp-expr index faff0e9ec..42321ff71 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -18,4 +18,4 @@ ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.pre8.65" +"0.pre8.66" -- 2.11.4.GIT