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

Erik Huelsmann ehuelsmann at common-lisp.net
Wed Feb 10 22:56:59 UTC 2010


Author: ehuelsmann
Date: Wed Feb 10 17:56:56 2010
New Revision: 12443

Log:
Revert r12425: it broke trunk in a way not quickly fixed.
  Work to reinstate 12425 continues on branches/metaclass/.

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	(original)
+++ trunk/abcl/src/org/armedbear/lisp/clos.lisp	Wed Feb 10 17:56:56 2010
@@ -537,14 +537,7 @@
 (defun canonical-slot-name (canonical-slot)
   (getf canonical-slot :name))
 
-(defun ensure-class (name &rest all-keys
-                     &key (metaclass 'standard-class) &allow-other-keys)
-
-  ;; Don't pass METACLASS on to the initialization routines
-  ;; This only works because we *know* ABCL conses up new &rest lists
-  ;; every time; otherwise, modifying the argument list is discouraged by the spec
-  (remf all-keys :metaclass)
-
+(defun ensure-class (name &rest all-keys &allow-other-keys)
   ;; Check for duplicate slots.
   (let ((slots (getf all-keys :direct-slots)))
     (dolist (s1 slots)
@@ -589,12 +582,8 @@
                   (apply #'std-after-initialization-for-classes old-class all-keys)
                   old-class)))
           (t
-           (let ((class (apply (if (eq metaclass 'standard-class)
-                                   #'make-instance-standard-class
-                                   #'make-instance)
-                               (or (when (symbolp metaclass)
-                                     (find-class metaclass))
-                                   metaclass)
+           (let ((class (apply #'make-instance-standard-class
+                               (find-class 'standard-class)
                                :name name all-keys)))
              (%set-find-class name class)
              class)))))




More information about the armedbear-cvs mailing list