Allow :initform in slot defintions.
Wed Oct 8 09:21:02 PDT 2008 levente.meszaros@gmail.com
* Allow :initform in slot defintions.
Warning: CRC errors found. These are probably harmless but should be repaired.
See 'darcs gzcrcs --help' for more information.
diff -rN -u old-defclass-star/defclass-star.lisp new-defclass-star/defclass-star.lisp
--- old-defclass-star/defclass-star.lisp 2014-08-01 23:33:29.000000000 -0700
+++ new-defclass-star/defclass-star.lisp 2014-08-01 23:33:29.000000000 -0700
@@ -94,13 +94,13 @@
(initform 'missing)
(entire-definition definition))
(push name *slot-names*)
- (when (oddp (length definition))
- (setf initform (pop definition))
- (setf entire-definition definition)
- (when (eq initform :unbound)
- (setf initform 'missing)))
- (assert (eq (getf definition :initform 'missing) 'missing) ()
- ":initform is not allowed by the defclass-star syntax, the initform is taken from the first element of odd length slot definitions.")
+ (if (oddp (length definition))
+ (progn
+ (setf initform (pop definition))
+ (setf entire-definition definition)
+ (when (eq initform :unbound)
+ (setf initform 'missing)))
+ (setf initform (getf definition :initform 'missing)))
(assert (every #'keywordp (loop for el :in definition :by #'cddr
collect el))
() "Found non-keywords in ~S" definition)