blob: 4d7af24109904f88d97fce734a5aae230f78f222 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
diff -ur src.orig/pcl/std-class.lisp src/pcl/std-class.lisp
--- src.orig/pcl/std-class.lisp 2005-07-07 11:44:27.000000000 -0500
+++ src/pcl/std-class.lisp 2006-12-11 00:01:52.000000000 -0600
@@ -816,13 +816,17 @@
(when (and (not (or finalizep (class-finalized-p class)))
(not (class-has-a-forward-referenced-superclass-p class)))
(finalize-inheritance class)
+ (dolist (sub (class-direct-subclasses class))
+ (update-class sub nil))
(return-from update-class))
;;
(when (or finalizep
(class-finalized-p class)
(not (class-has-a-forward-referenced-superclass-p class)))
(setf (find-class (class-name class)) class)
- (update-cpl class (compute-class-precedence-list class))
+ (let ((*allow-forward-referenced-classes-in-cpl-p*
+ (class-has-a-forward-referenced-superclass-p class)))
+ (update-cpl class (compute-class-precedence-list class)))
(update-slots class (compute-slots class))
(update-gfs-of-class class)
(update-inits class (compute-default-initargs class))
@@ -832,6 +836,9 @@
(unless finalizep
(dolist (sub (class-direct-subclasses class))
(update-class sub nil))))
+)
+
+(pushnew :cmucl-19d-patch-002 *features*)
;;;
;;; Set values of shared slots from initforms inherited from
|