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

Ville Voutilainen vvoutilainen at common-lisp.net
Thu Sep 10 20:56:05 UTC 2009


Author: vvoutilainen
Date: Thu Sep 10 16:56:03 2009
New Revision: 12142

Log:
Fix defect #62 - the argument check was still too strict,
it needs to skip initargs if &ALLOW-OTHER-KEYS is found
in method lambda lists.


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	Thu Sep 10 16:56:03 2009
@@ -1995,7 +1995,9 @@
   (when (symbolp initarg)
     (dolist (method methods nil)
       (let ((valid-initargs (method-lambda-list method)))
-	(when (find (symbol-value initarg) valid-initargs :test #'string=)
+	(when (or
+	       (find "&ALLOW-OTHER-KEYS" valid-initargs :test #'string=)
+	       (find (symbol-value initarg) valid-initargs :test #'string=))
 	  (return t))))))
 
 (defun valid-initarg-p (initarg slots)




More information about the armedbear-cvs mailing list