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

Ville Voutilainen vvoutilainen at common-lisp.net
Tue Oct 6 20:42:05 UTC 2009


Author: vvoutilainen
Date: Tue Oct  6 16:42:02 2009
New Revision: 12178

Log:
check-initargs must consider methods for initialize-instance.


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	Tue Oct  6 16:42:02 2009
@@ -1976,10 +1976,18 @@
     (error 'program-error
            :format-control "Odd number of keyword arguments."))
   (unless (getf initargs :allow-other-keys)
-    (let ((methods (compute-applicable-methods #'shared-initialize
-					       (if initargs
-						   `(,instance ,shared-initialize-param , at initargs)
-						 (list instance shared-initialize-param))))
+    (let ((methods 
+	   (nconc 
+	    (compute-applicable-methods 
+	     #'shared-initialize
+	     (if initargs
+		 `(,instance ,shared-initialize-param , at initargs)
+	       (list instance shared-initialize-param)))
+	    (compute-applicable-methods 
+	     #'initialize-instance
+	     (if initargs
+		 `(,instance , at initargs)
+	       (list instance)))))
 	  (slots (%class-slots (class-of instance))))
       (do* ((tail initargs (cddr tail))
             (initarg (car tail) (car tail)))




More information about the armedbear-cvs mailing list