[slime-devel] non-helpful argument list display for defmethod

Martin Simmons martin at lispworks.com
Mon May 11 13:33:16 UTC 2009


>>>>> On Sat, 9 May 2009 13:48:41 +0300, Nikodemus Siivola said:
> 
> Example:
> 
> (defgeneric foo (instance &rest initargs &key &allow-other-keys))
> 
> (defmethod foo ((cons cons) &key (car (car cons)) (cdr (cdr cons)))
>   (setf (car cons) car
>         (cdr cons) cdr)
>   cons)
> <snip>
> A related, but more blue-sky issue: In case of
> 
> (foo [])
> 
> the situation is better, but still having keywords from both lists is
> confusing. What could be really neat is that if after
> 
> (foo x :car [])
> 
> the minibuffer would display only the lambda lists for the methods for
> which :CAR is a legal keyword argument.

It's a minefield, because the &allow-other-keys makes all keywords legal for
all methods...

__Martin




More information about the slime-devel mailing list