Hello.

I've run across an incompatibility of CMUCL/PCL with the ANSI spec,
namely that change-class does not accept key arguments for
initializing additional slots.

Of course, there is a simple remedy, namely:

(defun enhanced-change-class (instance new-class &rest initargs)
  "Should not be needed if CMUCL/PCL would be ANSI conforming."
  (let ((new-instance (change-class instance new-class)))
    (apply #'initialize-instance new-instance initargs)
    new-instance))

But I wonder, why this incompatibility exists.

Nicolas.

Reply via email to