X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fmetaclasses.lisp;h=af8e461b774ba05b7e8fce2122642e630633b698;hp=a0b94716461ac2683559dab24189eeb57e79c5a4;hb=c50e9039c1b0d99d121f3d2dc48aa5e397fb2cc3;hpb=e3ed4080f0a28d94e81aad7452fb1f81e1e50253 diff --git a/sql/metaclasses.lisp b/sql/metaclasses.lisp index a0b9471..af8e461 100644 --- a/sql/metaclasses.lisp +++ b/sql/metaclasses.lisp @@ -461,19 +461,16 @@ implementations." (let ((slots (call-next-method)) desired-sequence output-slots) - (dolist (c (compute-class-precedence-list class)) (dolist (s (class-direct-slots c)) (let ((name (slot-definition-name s))) (unless (find name desired-sequence) - (setq desired-sequence (append desired-sequence (list name))))))) - ;; desired-sequence is reversed at this time + (push name desired-sequence))))) (dolist (desired desired-sequence) (let ((slot (find desired slots :key #'slot-definition-name))) (assert slot) (push slot output-slots))) - - (nreverse output-slots))) + output-slots)) (defun compute-lisp-type-from-slot-specification (slotd specified-type) "Computes the Lisp type for a user-specified type. Needed for OpenMCL @@ -592,7 +589,7 @@ which does type checking before storing a value in a slot." (defun slotdef-for-slot-with-class (slot class) (find-if #'(lambda (d) (eql slot (slot-definition-name d))) - (ordered-class-slots class))) + (class-slots class))) #+ignore (eval-when (:compile-toplevel :load-toplevel :execute)