Subject: [clisp-list] call-next-method

From: Zbyszek Jurkiewicz <[email-masked]>
Date: Wed, 24 May 2000 15:03:55 -0700

Would it be hard to change CALL-NEXT-METHOD into a function
(instead of macro)?  Without it, CLISP is inconsistent with
ANSI CL and CLtL2, and some programs cannot not be ported
easily to it.

The IMPNOTES.HTML proposes to use #'(lambda () (call-next-method))
instead of #'call-next-method, but this solution would not work
if one (e.g. me) wants to pass changed arguments to it and MUST
use APPLY.

This happens whey you write :AROUND method for INITIALIZE-INSTANCE,
where the list of keyword arguments could be (possibly) enormous,
and you (or package which is being ported) tries to modify it.

Thanks for your attention

Zbyszek Jurkiewicz
University of Warsaw

---

From: Bruno Haible <[email-masked]>
Date: Wed, 24 May 2000 15:57:23 +0200 (CEST)

> and you (or package which is being ported) tries to modify it.

Your explanation is convincing. For the first time, I see a way to
implement it: CALL-NEXT-METHOD must be defined as both a macro (for
efficiency) and a function (for correctness). It will involve changes
in the compiler and the interpreter, but is doable.

Thanks for the suggestion and the carefully prepared mail.

Bruno