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

Ville Voutilainen vvoutilainen at common-lisp.net
Tue Jul 28 14:48:31 UTC 2009


Author: vvoutilainen
Date: Tue Jul 28 10:48:24 2009
New Revision: 12072

Log:
Fix SHARED-INITIALIZE.ERROR.4.


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 Jul 28 10:48:24 2009
@@ -2048,6 +2048,13 @@
 (defun std-shared-initialize (instance slot-names all-keys)
   (when (oddp (length all-keys))
     (error 'program-error :format-control "Odd number of keyword arguments."))
+  (do* ((tail all-keys (cddr tail))
+	(initarg (car tail) (car tail)))
+      ((null tail))
+    (when (and initarg (not (symbolp initarg)))
+      (error 'program-error
+	     :format-control "Invalid initarg ~S."
+	     :format-arguments (list initarg))))
   (dolist (slot (%class-slots (class-of instance)))
     (let ((slot-name (%slot-definition-name slot)))
       (multiple-value-bind (init-key init-value foundp)




More information about the armedbear-cvs mailing list