X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fkmr-mop.lisp;h=e82ac66ddb50d0804969804aaf30bcef73a9d172;hb=61fd5f068d2a5dc42c88731d672730ba6aa9a9ea;hp=b709f1bea9c0b7ec81b21f4bd6ee462d9e93b881;hpb=b43e20a168dae4ae9d176ebc0fbf18ea6e4517dc;p=clsql.git diff --git a/sql/kmr-mop.lisp b/sql/kmr-mop.lisp index b709f1b..e82ac66 100644 --- a/sql/kmr-mop.lisp +++ b/sql/kmr-mop.lisp @@ -46,9 +46,19 @@ (declare (ignore metaclass slot-name)) ) +(eval-when (:compile-toplevel :load-toplevel :execute) + (defclass %slot-order-test-class () + ((a) + (b))) + (finalize-inheritance (find-class '%slot-order-test-class)) + (let ((slots (class-slots (find-class '%slot-order-test-class)))) + (ecase (slot-definition-name (first slots)) + (a) + (b (pushnew :mop-slot-order-reversed cl:*features*))))) + (defun ordered-class-slots (class) - #+(or cmu sbcl) (class-slots class) - #-(or cmu sbcl) (reverse (class-slots class))) + #+mop-slot-order-reversed (class-slots class) + #-mop-slot-order-reversed (reverse (class-slots class))) ;; Lispworks has symbol for slot rather than the slot instance (defun %svuc-slot-name (slot)