[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