[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