Support Missing Lambda List Features in DEFINE-FUNCTION
The define-function
macro family, currently located in util.lisp currently doesn't support a few fairly obscure features of CL's lambda-lists.
These are:
-
&optional
and&key
variables allow an optional third (fourth if added todefine-function
)suppliedp
variable (specified here for&optional
and here for&key
) that is true if the variable was supplied or false if the variable was not supplied.-
&key
might have other features not supported. The specification will have to be read carefully.
-
-
&aux
variables are essentially an implicitlet*
that is added to the start of the function.declare
works as expected on these so they should be fairly easy to support.
Update (2021-02-06): Also make sure &allow-other-keys
is supported.
Edited by Michael Babich