[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in canonicalize-slot-specification



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))))))