[armedbear-cvs] r12805 - trunk/abcl/src/org/armedbear/lisp
Alessio Stalla
astalla at common-lisp.net
Tue Jul 13 19:16:27 UTC 2010
Author: astalla
Date: Tue Jul 13 15:16:25 2010
New Revision: 12805
Log:
Fixed bugs with custom slot and class options
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 13 15:16:25 2010
@@ -209,11 +209,8 @@
(push-on-end (cadr olist) readers)
(push-on-end `(setf ,(cadr olist)) writers))
(t
- (push-on-end (car olist) non-std-options)
+ (push-on-end `(quote ,(car olist)) non-std-options)
(push-on-end (cadr olist) non-std-options))))
-; (error 'program-error
-; "invalid initialization argument ~S for slot named ~S"
-; (car olist) name))
`(list
:name ',name
,@(when initfunction
@@ -259,10 +256,7 @@
(cdr option))))))
((:documentation :report)
(list (car option) `',(cadr option)))
- (t (list (car option) `(quote ,(cdr option))))))
-; (error 'program-error
-; :format-control "invalid DEFCLASS option ~S"
-; :format-arguments (list (car option))))))
+ (t (list `(quote ,(car option)) `(quote ,(cdr option))))))
(defun make-initfunction (initform)
`(function (lambda () ,initform)))
@@ -337,8 +331,7 @@
(readers ())
(writers ())
(allocation :instance)
- (allocation-class nil)
- &allow-other-keys)
+ (allocation-class nil))
(setf (slot-definition-name slot) name)
(setf (slot-definition-initargs slot) initargs)
(setf (slot-definition-initform slot) initform)
@@ -2339,7 +2332,7 @@
(declare (ignore slot-names)) ;;TODO?
(declare (ignore name initargs initform initfunction readers writers allocation))
;;For built-in slots
- (apply #'init-slot-definition slot args)
+ (apply #'init-slot-definition slot :allow-other-keys t args)
;;For user-defined slots
(call-next-method))
More information about the armedbear-cvs
mailing list