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

Re: new version of PCL



I just ftp'ed pcl from parcvax and it wouldn't compile until
I fiddled with canonicalize-slot-specification in defclass.
The complaint was
	KCl (Kyoto Common Lisp)  June 3, 1987
	Compiling METHODS...
	Compiling methods.lsp.
	Error: Too many arguments.
	Error signalled by QUOTE.
	Backtrace:  > eval > mapcar > eval > progn > eval-when > progn > let > QUOTE
	; (MAPCAR #'EVAL ...) is being compiled.
	;;; The form (MAPCAR #'EVAL *METHODS-DEFCLASS-FORMS*) was not evaluated successfully.
	;;; You are recommended to compile again.
	No FASL generated.

canonicalize-slot-specification was returning any slot options
as (quote <slot options>); eg, ((arf :accessor arf))) became
(list (list :name 'arf (quote :accessor arf))).  Maybe I missed
a fix?  At any rate, the following fix(?) allows methods to compile;
eg, the example becomes (list (list* :name 'arf (quote :accessor arf))).  

Ron Stanonik
stanonik@nprdc.arpa

*** odefclass.lsp	Mon Mar 14 14:06:30 1988
--- defclass.lsp	Mon Mar 14 14:06:34 1988
***************
*** 230,239 ****
  		(unsupplied (list nil))
  		(initform (getf spec :initform unsupplied)))
  	   (if (eq initform unsupplied)
! 	       ``(:name ,',name ,',@spec)
  	       ``(:name ,',name
  		  :initfunction ,,(make-initfunction initform)
! 		  ,',@spec))))))
  						
  (defun canonicalize-defclass-option (class-name option)
    (declare (ignore class-name))
--- 230,239 ----
  		(unsupplied (list nil))
  		(initform (getf spec :initform unsupplied)))
  	   (if (eq initform unsupplied)
! 	       ``(:name ,',name ,@',spec)
  	       ``(:name ,',name
  		  :initfunction ,,(make-initfunction initform)
! 		  ,@',spec))))))
  						
  (defun canonicalize-defclass-option (class-name option)
    (declare (ignore class-name))