Thread view

In CLISP, call-next-method is a macro and not a function, which is a
documented feature. This causes some problem to me and I don't know how
to solve it cleanly.
In ANSI Common Lisp, I can do the following:
(defclass foo ()
((z :initarg :z)
(bar :initarg :bar)))
(defmethod initialize-instance ((instance foo) &rest initargs &key x y)
(if (and x y)
(apply #'call-next-method instance :z (sqrt (+ (* x x) (* y y))) initargs)
(call-next-method)))
I don't know how to perform the `apply' call in CLISP. Is it possible
by some trick or can I use another approach to the class instance
initialization, which is not worse than using the initialize-instance
method?
Thanks for any advice.
Milan Zamazal
--
"Having GNU Emacs is like having a dragon's cave of treasures."
Robert J. Chassell