ANSI Common Lisp 7 Objects 7.6 Generic Functions and Methods
7.6.5 Keyword Arguments in Generic Functions and Methods
When a generic function or any of its methods mentions
&key in a lambda list, the specific set of keyword
arguments accepted by the generic function varies according to the
applicable methods. The set of keyword arguments accepted by the
generic function for a particular call is the union of the keyword
arguments accepted by all applicable methods and the keyword arguments
mentioned after &key in the generic function definition,
if any. A method that has &rest but not &key does not affect the
set of acceptable keyword arguments. If
the lambda list of any applicable method or of the generic
function definition contains &allow-other-keys, all
keyword arguments are accepted by the generic function.
The lambda list congruence rules require that each method
accept all of the keyword arguments mentioned after &key in the
generic function definition, by accepting them explicitly, by
specifying &allow-other-keys, or by specifying &rest but
not &key. Each method can accept additional keyword arguments
of its own, in addition to the keyword arguments mentioned in the
generic function definition.
If a generic function is passed a keyword argument that no applicable
method accepts, an error should be signaled; see Section 3.5 Error Checking in Function Calls.
18.104.22.168 Examples of Keyword Arguments in Generic Functions and Methods