[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug in canonicalize-slot-specification
- To: CommonLoops.pa@Xerox.COM
- Subject: Bug in canonicalize-slot-specification
- From: kanderso@WILMA.BBN.COM
- Date: Tue, 15 Mar 88 14:15:04 -0500
- Cc: kanderson@WILMA.BBN.COM
- Redistributed: CommonLoops.pa
It looks like there is an extra quote in
canonicalize-slot-specification of defclass.lisp. Here is a patched
version:
(defun canonicalize-slot-specification (class-name spec)
(cond ((symbolp spec)
`'(:name ,spec))
((null (cdr spec))
`'(:name ,(car spec)))
((null (cddr spec))
(warn "In DEFCLASS ~S, the slot specification ~S is obsolete.~%~
Convert it to ~S"
class-name spec (list (car spec) :initform (cadr spec)))
`'(:name ,(car spec)
:initform ,(cadr spec)
:initfunction ,(make-initfunction (cadr spec))))
(t
(let* ((name (pop spec))
(unsupplied (list nil))
(initform (getf spec :initform unsupplied)))
(if (eq initform unsupplied)
``(:name ,',name ,',@spec)
``(:name ,',name
:initfunction ,,(make-initfunction initform)
,,@spec))))))
;; KRA ,',@spec))))))