projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.16.29: workaround for bug 419
[sbcl.git]
/
src
/
pcl
/
dfun.lisp
diff --git
a/src/pcl/dfun.lisp
b/src/pcl/dfun.lisp
index
e301b76
..
5532c12
100644
(file)
--- a/
src/pcl/dfun.lisp
+++ b/
src/pcl/dfun.lisp
@@
-1280,8
+1280,8
@@
Except see also BREAK-VICIOUS-METACIRCLE. -- CSR, 2003-05-28
(writer (cadr specializers))))
(specl-cpl (if early-p
(early-class-precedence-list specl)
(writer (cadr specializers))))
(specl-cpl (if early-p
(early-class-precedence-list specl)
- (and (class-finalized-p specl)
- (class-precedence-list specl))))
+ (when (class-finalized-p specl)
+ (class-precedence-list specl))))
(so-p (member *the-class-standard-object* specl-cpl))
(slot-name (if (consp method)
(and (early-method-standard-accessor-p method)
(so-p (member *the-class-standard-object* specl-cpl))
(slot-name (if (consp method)
(and (early-method-standard-accessor-p method)
@@
-1296,17
+1296,14
@@
Except see also BREAK-VICIOUS-METACIRCLE. -- CSR, 2003-05-28
;; all of its subclasses. If either SPECL or one of the subclasses
;; is not a standard-class, bail out.
(labels ((aux (class)
;; all of its subclasses. If either SPECL or one of the subclasses
;; is not a standard-class, bail out.
(labels ((aux (class)
- ;; FIND-SLOT-DEFINITION might not be defined yet
- (let ((slotd (find-if (lambda (x)
- (eq (sb-pcl::slot-definition-name x)
- slot-name))
- (sb-pcl::class-slots class))))
+ (let ((slotd (find-slot-definition class slot-name)))
(when slotd
(when slotd
- (unless (or early-p
- (slot-accessor-std-p slotd type))
+ (unless (or early-p (slot-accessor-std-p slotd type))
(return-from make-accessor-table nil))
(push (cons specl slotd) (gethash class table))))
(dolist (subclass (sb-pcl::class-direct-subclasses class))
(return-from make-accessor-table nil))
(push (cons specl slotd) (gethash class table))))
(dolist (subclass (sb-pcl::class-direct-subclasses class))
+ (unless (class-finalized-p subclass)
+ (return-from make-accessor-table nil))
(aux subclass))))
(aux specl))))
(maphash (lambda (class specl+slotd-list)
(aux subclass))))
(aux specl))))
(maphash (lambda (class specl+slotd-list)