Re: Calling specific method

"Erik Ronström (as erik dot ronstrom at doremir dot com)" <[email protected]> Fri, 17 Apr 2026 17:25:25 +0200
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
Thanks, I managed to get the method object... but how do I call it?

(defmethod some-method ((obj c))
   (let ((method (find-method (find-method #'some-method nil (find-class 'a)))))

     ;; method was found, but how to call it?
     (call-method method) ; call-method is not defined in this context
     (funcall method obj) ; method is not a function
)




Den 2026-04-17 kl. 16:23, skrev Toomas Altosaar:

Use find-Metrodome

> On 17. Apr 2026, at 16.42, Erik Ronström (as erik dot ronstrom at doremir dot com) <[email protected]> wrote:
>
> Hi,
>
> (defclass a ()
>   )
>
> (defclass b (a)
>   )
>
> (defclass c (b)
>   )
>
> (defmethod some-method ((obj a))
>   ; Do something
>   )
>
> (defmethod some-method ((obj b))
>   ; Do something different
>   )
>
> (defmethod some-method ((obj c))
>   (call-next-method))  ; <-- this will call some-method for class b
>
>  From some-method for class c, is it possible to explicitly call the method for class a rather than b?
>
> Erik

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html