r8906: fixes for allegro loop, start of lispworks loop - not working
[clsql.git] / sql / metaclasses.lisp
index a0b94716461ac2683559dab24189eeb57e79c5a4..af8e461b774ba05b7e8fce2122642e630633b698 100644 (file)
@@ -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)