[armedbear-cvs] r14158 - trunk/abcl/src/org/armedbear/lisp

rschlatte at common-lisp.net rschlatte at common-lisp.net
Sun Sep 30 13:11:08 UTC 2012


Author: rschlatte
Date: Sun Sep 30 06:11:05 2012
New Revision: 14158

Log:
Change slot ordering: slots defined in the superclass come first

Modified:
   trunk/abcl/src/org/armedbear/lisp/clos.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/clos.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/clos.lisp	Sat Sep 29 14:17:04 2012	(r14157)
+++ trunk/abcl/src/org/armedbear/lisp/clos.lisp	Sun Sep 30 06:11:05 2012	(r14158)
@@ -675,8 +675,9 @@
 ;;; Slot inheritance
 
 (defun std-compute-slots (class)
-  (let* ((all-slots (mapappend #'class-direct-slots
-                               (class-precedence-list class)))
+  (let* ((all-slots (nreverse ;; Slots of base class should come first
+                     (mapappend #'(lambda (c) (reverse (class-direct-slots c)))
+                                (reverse (class-precedence-list class)))))
          (all-names (remove-duplicates
                      (mapcar 'slot-definition-name all-slots))))
     (mapcar #'(lambda (name)




More information about the armedbear-cvs mailing list