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

defmethod-setf patch for DEC CL v2.0

DEC Common Lisp Release 2.0 has a bug in its backquote handler which
causes defmethod-setf to fail if more than one argument appears in
its specialized-lambda-list.  The following patch applies to pcl with
*pcl-system-date* "5/22/87 (rev 3)  May 22nd, 1987".  I've heard
rumors of more recent releases of DEC CL; perhaps this bug has been
fixed in them.

;;; file: braid0.lisp
(defun do-defmethod-setf-defsetf (generic-function-name
				  &optional (new-value-arglist '(new-value)))
  (let ((setf-name (make-setf-generic-function-name generic-function-name)))
    (do-defsetf generic-function-name arglist new-value-arglist
      #-(and dec vax) ``(,',setf-name ,,@new-value-arglist ,,@arglist)
      #+(and dec vax) (list* 'list (list 'quote setf-name)
			     (append new-value-arglist arglist))