[armedbear-cvs] r14009 - trunk/abcl/src/org/armedbear/lisp
rschlatte at common-lisp.net
rschlatte at common-lisp.net
Mon Jul 16 13:30:39 UTC 2012
Author: rschlatte
Date: Mon Jul 16 06:30:26 2012
New Revision: 14009
Log:
Don't redefine metaclasses
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 Sun Jul 15 03:38:05 2012 (r14008)
+++ trunk/abcl/src/org/armedbear/lisp/clos.lisp Mon Jul 16 06:30:26 2012 (r14009)
@@ -888,11 +888,12 @@
non-existent superclasses, default initargs, or other complicated stuff.
Handle with care."
(let ((class (gensym)))
- `(let ((,class (make-instance-standard-class
- nil
- :name ',name
- :direct-superclasses ',(mapcar #'find-class superclasses)
- :direct-slots ,(canonicalize-direct-slots direct-slots))))
+ `(let ((,class (or (find-class ',name nil)
+ (make-instance-standard-class
+ nil
+ :name ',name
+ :direct-superclasses ',(mapcar #'find-class superclasses)
+ :direct-slots ,(canonicalize-direct-slots direct-slots)))))
(%set-find-class ',name ,class)
,class)))
More information about the armedbear-cvs
mailing list